腳手架簡介
腳手架安裝
- 專案根目錄終端輸入 npm i -g @vue/cli
腳手架使用
- 根目錄下終端輸入 vue create system
- 之後進行選擇專案配置,等待片刻,出現success提示
- cd XX -進入
- npm run serve 執行專案
- 開啟localhost:8080 建立成功
混入
1把公共的東西封裝起來,放到混入物件中,有需要的時候,直接使用
2混入格式:
3寫在main.js中,必須在例項化物件之前
4vue.minxin({
5資料
6data(){
7return{鍵:值}
8}
9})
10如果在混入中宣告瞭變數,元件中也有同名變數的時候,元件中的變數會覆蓋混入中的變數
11在混入中的鉤子函式,不會被new物件中的元件中的鉤子函式覆蓋
12 created(){
13
14 }
15如果混入中宣告瞭自定義方法,在元件中也有同名的方法,元件中的方法會覆蓋混入中的方法
16 methods:{
17 方法名(){
18
19 }
20 }
21 方法
22 系統方法(生命週期鉤子函式)
23 自定方法
24 })
25 new Vue({
26 render:h=>h(App)
27 ....
28 })
1在哪個元件中使用,就在哪個元件中引用
2區域性混入是一個單獨的檔案
3 在src/目錄中建立一個目錄,儲存區域性混入的
4 src/
5 mixin/
6 test.js
7 在元件中如果需要使用,需在在元件中使用引入:import test from "./mixin/test.js"
8 在當前元件中進行註冊混入
9 mixins:[test,xxx]
常用修飾符
事件修飾符
1 .stop 阻止事件冒泡 @click.stop="方法"
2 .prevent 阻止預設事件 <a @click.stop.prevent="方法"><a>
3 .once 阻止事件重複觸發
表單修飾符
1trim:自動過濾使用者輸入的首尾空白字元
2number:自動將使用者的輸入值轉為數值型別
3lazy 使用者每一次觸發都會馬上更新,使用了該修飾符可以讓使用者通過回車,或者滑鼠失焦觸發
watch監聽
- watch的作用是可以監聽一個值的變化,並呼叫因變化需要執行的方法
11.普通監聽
2實時的監聽資料的變化
3watch監聽屬性中,把要監聽的資料,作為方法名進行監聽
4方法名(資料屬性)(新值,老值)
5語法格式:
6watch:{
7變數名(引數1新,引數2老){
8 }
9 }
12.立即監聽
2 如果我們需要在最初繫結值的時候也執行函式,則使用到immediate屬性 值設定為true
3 語法格式:
4 ,
5 watch:{
6 變數名:{
7
8 handler(新值,老值){
9
10 }
11
12 immediate:true
13 }
14 }
13.深度監聽
2 當需要的監聽的值是一個物件.不能直接監聽到物件值的變化,普通的watch方法無法監聽到物件,只能監聽屬性的變數,我們如果需要監聽物件中值的變化,只能使用深度監聽deep屬性對物件進行深度監聽
3
4watch和computed 區別:
5 1.watch中的函式不需要手動呼叫,computed內部的函式需要呼叫,呼叫的時候不需要()
6 2.watch(屬性監聽),監聽屬性的變化,而computed(計算屬性),計算是統計計算得到的資料
7使用環境:
8 a +
9 b
10 {{計算方法}}
11 computed
12 當一個結果受到多個屬性影響的時候就使用我 c = a + b
13 return c
14 購物車總價
15 watch
16 當一個資料變化的時候,需要額外的操作
17 例如:搜素的時候
18 str:a => b
19 根據str變化的值,完成其它的操作
20 監聽str = b
21 把監聽到的值作為請求條件
22 ba baaa bxxxx
ref和$refs
1vue 運算元據
2js 可以獲取元素 document.get.....
3ref 就是一個標籤屬性 方便我們獲取該元素
4
5簡單的用法:就是獲取元素
6<元素 ref="自定義的屬性值"></元素>
7
8有一個$refs的物件這個物件中儲存的所有的ref的值
9$refs.ref屬性的屬性值
10如果在方法中需要使用this.$refs.ref屬性的屬性值
11console.log(this.$refs.ref屬性的屬性值) <元素></元素>
12
13在父元件中使用子元件中的資料和方法
14
151.在父元件中使用的子元件標籤繫結一個ref屬性,並設定一個屬性值
16當前的屬性值就是當前的子元件
17使用的時候就可以使用 this.$refs.屬性值.子元件中的資料或方法
18以上方式也可以實現子傳父的過程
KeepAlive
1App.vue
2 <router-view/> 佔位 具體載入哪個元件取決是什麼路由
3
4 <keep-alive>
5 佔位標籤
6 <keep-alive>
7 <keep-alive></keep-alive> 是vue中的內建元件,能在元件切換的時候,將狀態保留在記憶體中,防止重複的DOM渲染
8 就是將資料快取起來
9
10 如果使用以上的方式,是對所有的元件都進行快取處理
11
12如果需要對一個進行快取
13使用Route中的meta
14在路由的檔案中新增一個屬性
15router/index.js中新增meta屬性
16需要個哪個路由元件設定快取,就在哪裡加
17
181.需要加快取中的路由中新增meta屬性,設定一個物件,鍵和值 值為true
192.在<keep-alive >
20 $route 當前路由物件.meta.自定義屬性如果為真,就顯示,如果為加,就刪除
21 <route-view v-if="$route">
22</keep-alive>