vue 入門notes

文章目錄

    • vue
    • 一、js基礎
    • 二、封裝緩存
    • 三、組件
      • 1、組件創建、引入、掛載、使用
      • 2、組件間的傳值
        • - 父組件主動獲取子組件的數據和方法(子組件給父組件傳值):
        • - 子組件主動獲取父組件的數據和方法(父組件給子組件傳值):
        • -非父子組件間的傳值
          • 廣播方式
          • Vuex方式 -- 解決(不同頁面)組件間數據共享
    • 四、生命周期(鉤子)函數
    • 五、請求數據的三種方式
          • 1、vue-resource
          • 2、Axios
          • 3、fetch-jsonp
          • 4、tips
    • 六、路由(自動掛載組件以及加載數據)
          • 1、配置路由
          • 2、實際使用
            • 1、配置
            • 2、 ‘/’ 路由出口(放在根組件):
            • 3、router-link 路由出口(類似a標簽):
            • 4、Js編程式路由(編程式導航):由js代碼主動發起路由
            • 5、vue路由的hash模式(默認,有#)和history模式(無#)
            • 6、路由的嵌套
          • 3、路由傳參
          • 4、路由模塊化

vue

  • 每一個組件都是一個頁面(html/template+js+css/scss),實現組件的完整性——組件化

  • main.js入口文件,在這里可以引入用到的node_modules包(模塊)以及插件,即用即導入——模塊化

  • App.vue 根組件(根頁面),

  • meta viewport 移動端窗口(視口),可以使用百度界面的meta標簽的 viewport屬性

  • 若在全局樣式有 html{font-size:62.5%} —— 將字體變為0.625倍,為了適合移動端,則此時的 1rem 就 相當于電腦的 1px !

  • 創建項目:
    在這里插入圖片描述
    第一次安裝腳手架:
    cnpm install -g vue-cli (安裝vue cli2腳手架)
    vue init webpack demo1 (vue init webpack-simple demo1)
    npm run dev
    npm run build
    OR
    cnpm install -g @vue/cli (安裝vue cli3腳手架)
    vue create demo1
    運行:npm run serve (運行速度比2快了許多)
    編譯:npm run build

  • vue cli3 提供了GUI界面來創建(管理)項目:
    vue ui
    然后進入locallhost:8080

一、js基礎

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

二、封裝緩存

1、直接使用:
在這里插入圖片描述
2、封裝后使用:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

三、組件

組件掛載。頁面由組件組成。路由:動態掛載組件。創建組件,開頭大寫,組件=template+js+scss,所有內容要被根節點包含起來,組件必須包含根元素(一般是div)。自定義標簽名不能重復。

1、組件創建、引入、掛載、使用

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

2、組件間的傳值

組件間的傳值,可以是變量(地址),也可以是對象(函數–地址),還可以是整個組件(類–地址)!

- 父組件主動獲取子組件的數據和方法(子組件給父組件傳值):

父組件主動獲取子組件的數據和方法:
在這里插入圖片描述

- 子組件主動獲取父組件的數據和方法(父組件給子組件傳值):

子組件主動獲取父組件的數據和方法:
在這里插入圖片描述

父組件給子組件傳值:
在這里插入圖片描述
例子: 無論是傳變量、函數還是組件,父組件傳值方式都是動態屬性綁定,子組件接收方式有兩種,一種props數組形式接收——props:[],一種props對象形式接收,對象形式接收可以驗證父組件傳值的合法性!
父組件傳變量:
在這里插入圖片描述
子組件props數組接收變量:
在這里插入圖片描述

子組件props對象接收變量并驗證,驗證不通過則會出現警告:

在這里插入圖片描述

-非父子組件間的傳值

廣播方式

在這里插入圖片描述
例子:
在這里插入圖片描述
在這里插入圖片描述

Vuex方式 – 解決(不同頁面)組件間數據共享

Vuex是vue官方提供的狀態管理插件,解決(不同頁面)組件間同一狀態的數據共享問題和組件的數據持久化。
也可以通過localstorage(緩存)實現,也可以使用SessionStorage實現!
注:小項目中,能不用Vuex就不用。

1、數據共享
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述


在這里插入圖片描述
在這里插入圖片描述


2、數據持久化
直觀體現:在控制臺的network中,多次請求數據時,如果用緩存則會多次請求,若用Vuex則可以達到一次請求,多次使用(并且動態改變、共享)。


四、生命周期(鉤子)函數

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

五、請求數據的三種方式

在這里插入圖片描述

1、vue-resource

在這里插入圖片描述
在這里插入圖片描述

2、Axios

在這里插入圖片描述

在這里插入圖片描述

3、fetch-jsonp


在這里插入圖片描述

4、tips
  • Axios不支持jsonp請求。而fetch-jsonp可以支持,可以在vue、react中使用,fetch-jsonp用法和Axios很像。
  • vue-resource是vue的官方插件,在man.js引入并使用后,全局組件都可以直接使用,這是一個被推薦的重要原因;而Axios則是在哪里需要在哪引入,Axios可以在vue、react中使用。
  • 要用箭頭函數替代function,避免指向被改變。
  • 安裝依賴包時一定要加 --save,這樣會在package.json中聲明版本,下次install才能被找到。
  • vue-resource、Axios、fetch-jsonp都可以在git上找到源碼和安裝使用方法

六、路由(自動掛載組件以及加載數據)

1、配置路由

在這里插入圖片描述
補充:第五步:設置路由出口(即在哪個作用域下渲染這些路由下的組件)
在這里插入圖片描述

2、實際使用
1、配置

在這里插入圖片描述
在這里插入圖片描述

2、 ‘/’ 路由出口(放在根組件):

在這里插入圖片描述

3、router-link 路由出口(類似a標簽):

在這里插入圖片描述

4、Js編程式路由(編程式導航):由js代碼主動發起路由

其實 點擊 router-link組件,內部調用的也是 router.push()方法
在這里插入圖片描述
在這里插入圖片描述

5、vue路由的hash模式(默認,有#)和history模式(無#)

在這里插入圖片描述

6、路由的嵌套

在這里插入圖片描述

3、路由傳參

get傳參
在這里插入圖片描述

post傳參

4、路由模塊化

路由模塊化 —— 單獨開一個js文件放路由配置,然后export暴露,在main.js中引入并掛載
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/278716.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278716.shtml
英文地址,請注明出處:http://en.pswp.cn/news/278716.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

spring集成 JedisCluster 連接 redis3.0 集群

2019獨角獸企業重金招聘Python工程師標準>>> spring集成 JedisCluster 連接 redis3.0 集群 博客分類&#xff1a; 緩存 spring 客戶端采用最新的jedis 2.7 1. maven依賴&#xff1a; <dependency> <groupId>redis.clients</groupId> <artifact…

html-盒子模型及pading和margin相關

margin: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;}/*margin 外邊距 元素與其他元素的距離&#xff08;邊框以外的距離&#xff09;一…

火狐瀏覽器復制網頁文字_從Firefox中的網頁鏈接的多種“復制”格式中選擇

火狐瀏覽器復制網頁文字Tired of having to copy, paste, and then format links for use in your blogs, e-mails, or documents? Then see how easy it is to choose a click-and-go format that will save you a lot of time and effort with the CoLT extension for Firef…

vscode配置、使用git

文章目錄一、下載、配置git二、vscode配置并使用git三、記住密碼一、下載、配置git 1、git-win-x64點擊下載后安裝直接安裝&#xff08;建議復制鏈接用迅雷等下載器下載&#xff0c;瀏覽器太慢&#xff0c;記住安裝位置&#xff09;。 2、配置git環境變量&#xff1a; 右鍵 此…

BTrace功能

2019獨角獸企業重金招聘Python工程師標準>>> BTrace功能 一、背景 在生產環境中可能經常遇到各種問題&#xff0c;定位問題需要獲取程序運行時的數據信息&#xff0c;如方法參數、返回值、全局變量、堆棧信息等。為了獲取這些數據信息&#xff0c;我們可以…

.NET(c#) 移動APP開發平臺 - Smobiler(1)

原文&#xff1a;https://www.cnblogs.com/oudi/p/8288617.html 如果說基于.net的移動開發平臺&#xff0c;目前比較流行的可能是xamarin了&#xff0c;不過除了這個&#xff0c;還有一個比xamarin更好用的國內的.net移動開發平臺&#xff0c;smobiler&#xff0c;不用學習另外…

如何在Vizio電視上禁用運動平滑

Vizio維齊奧New Vizio TVs use motion smoothing to make the content you watch appear smoother. This looks good for some content, like sports, but can ruin the feel of movies and TV shows. 新的Vizio電視使用運動平滑來使您觀看的內容顯得更平滑。 這對于某些內容(例…

無服務器架構 - 從使用場景分析其6大特性

2019獨角獸企業重金招聘Python工程師標準>>> 無服務器架構 - 從使用場景分析其6大特性 博客分類&#xff1a; 架構 首先我應該提到&#xff0c;“無服務器”技術肯定有服務器涉及。 我只是使用這個術語來描述這種方法和技術&#xff0c;它將任務處理和調度抽象為與…

ES6實用方法Object.assign、defineProperty、Symbol

文章目錄1.合并對象 - Object.assign()介紹進階注意用途2.定義對象 - Object.defineProperty(obj, prop, descriptor)3.新數據類型- Symbol定義應用1.合并對象 - Object.assign() 介紹 assign方法可以將多個對象&#xff08;字典&#xff09;&#xff0c;語法&#xff1a;Obj…

Enable Authentication on MongoDB

1、Connect to the server using the mongo shell mongo mongodb://localhost:270172、Create the user administrator Change to the admin database: use admindb.createUser({user: "Admin",pwd: "Admin123",roles: [ { role: "userAdminAnyDataba…

windows驅動程序編寫_如何在Windows中回滾驅動程序

windows驅動程序編寫Updating a driver on your PC doesn’t always work out well. Sometimes, they introduce bugs or simply don’t run as well as the version they replaced. Luckily, Windows makes it easy to roll back to a previous driver in Windows 10. Here’s…

運行tomcat報Exception in thread ContainerBackgroundProcessor[StandardEngine[Catalina]]

解決方法1&#xff1a; 手動設置MaxPermSize大小&#xff0c;如果是linux系統&#xff0c;修改TOMCAT_HOME/bin/catalina.sh&#xff0c;如果是windows系統&#xff0c;修改TOMCAT_HOME/bin/catalina.bat&#xff0c; 在“echo "Using CATALINA_BASE: $CATALINA_BASE&q…

new子類會先運行父類的構造函數

發現子類構造函數運行時&#xff0c;先運行了父類的構造函數。為什么呢? 原因&#xff1a;子類的所有構造函數中的第一行&#xff0c;其實都有一條隱身的語句super(); super(): 表示父類的構造函數&#xff0c;并會調用于參數相對應的父類中的構造函數。而super():是在調用父類…

在Windows 7中的Windows Media Player 12中快速預覽歌曲

Do you ever wish you could quickly preview a song without having to play it? Today we look at a quick and easy way to do that in Windows Media Player 12. 您是否曾經希望無需播放就可以快速預覽歌曲&#xff1f; 今天&#xff0c;我們探討一種在Windows Media Play…

Vue.js中的8種組件間的通信方式;3個組件實例是前6種通信的實例,組件直接復制粘貼即可看到運行結果

文章目錄一、$children / $parent二、props / $emit三、eventBus四、ref五、provide / reject六、$attrs / $listeners七、localStorage / sessionStorage八、Vuex實例以element ui為例。例子從上往下逐漸變復雜&#xff08;后面例子沒有刪前面的無用代碼&#xff0c;有時間重新…

不可思議的混合模式 background-blend-mode

本文接前文&#xff1a;不可思議的混合模式 mix-blend-mode 。由于 mix-blend-mode 這個屬性的強大&#xff0c;很多應用場景和動效的制作不斷完善和被發掘出來&#xff0c;遂另起一文繼續介紹一些使用 mix-blend-mode 制作的酷炫動畫。 CSS3 新增了一個很有意思的屬性 -- mix-…

adb錯誤 - INSTALL_FAILED_NO_MATCHING_ABIS

#背景 換組啦&#xff0c;去了UC國際瀏覽器&#xff0c;被擁抱變化了。還在熟悉階段&#xff0c;嘗試了下adb&#xff0c;然后就碰到了這個INSTALL_FAILED_NO_MATCHING_ABIS的坑。。。 #解決方法 INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app th…

如何更改從Outlook發送的電子郵件中的“答復”地址

If you’re sending an email on behalf of someone else, you might want people to reply to that person instead of you. Microsoft Outlook gives you the option to choose a different default Reply address to cover this situation. 如果您要代表其他人發送電子郵件&…

visio自定義圖形填充

選中圖形&#xff0c;最上面一欄&#xff1a;開發工具-操作&#xff08;-組合-連接&#xff09;-拆分

Ansible 詳解2-Playbook使用

aaa轉載于:https://www.cnblogs.com/Presley-lpc/p/10107491.html