模版語法:
1、插值表達式
2、v-text
3、v-html
4、v-on
5、v-bind
注:指令後面都是j s表達式,表達式後可跟字符串
例:v-text=“name + 'lee' ";
計算屬性
1、計算屬性(computed):顧名思義就是通過計算得來的;
特點:
內置緩存、 緩存機制
當計算屬性的兩個變量未發生改變就不會重新計算,會一直用上次計算的結果;(提高性能)
簡而言之依賴屬性未發生改變就不會重新計算,如果依賴發生改變,計算屬性會重新計算一次;(並且語法簡潔性能高)
2、方法(methods)形式也可以實現計算屬性,單沒緩存機制,性能低
3、幀聽器(watch)也有緩存機制,但語法複雜;
計算屬性的兩個方法:
set:設置值時調用;
get: 獲取值時調用;
vue中的樣式綁定
1、class對象綁定 :class{}
2、class和數組綁定; :class[]
:style ="styleObj" style對象綁定, style綁定數組;
“?”是如果if的意思;
vue條件渲染:
v-if : 節點移除或重新渲染;(性能低。節點刪除或增加)
v-show:是存在的只是樣式爲display:none;(性能高)
v-if和v-else必須一起使用;
“key"值就相當於id,在頁面上是唯一的;
vue中的列表渲染:
v-for:數組循環;
index做key值費性能,帶key值可以提高性能;
改變數據引用也可以改變數據;
對象也可以做循環,遍歷對象直接加值不可用,但是可以直接改遍對象引用可以;
vue中的set方法:
可在對象中增加數據用set方法;
set是全局方法,也可以是實例方法;
數組中的set方法:
該變數組頁面也是也跟着變的方法有三種:
1、直接改數組引用;
2、數組變異方法(pop\push)
3、set方法;
改變對象數據也你那也跟着變的方法有兩種:
1、改變對象引用
2、set方法
vue組件:
1、is屬性(多用於table)解決模版標籤上的bug(解訣h5標籤上bug);
2、data屬性。在vue實例裏面定義 data可以是一個對象,但是在子組件裏定義data必須是一個函數;
3、ref屬性 vue中如何操作dom,就是通過引用ref;
在vue中由於單向數據流:
父組件可以向子組件傳參數,通過屬性,但子組件不可以修改父組件拆開的參數;
父組件通過屬性向子組件傳值;
子組件通過事件觸發向父組件傳值;
組件參數校驗與非props特點:
1、組件參數校驗就是子組件對父組件傳來的值約束
約束的內容有:
type:數據類型;
required :必傳;
default: 默認值
validator: 自定義校驗器
2、props特性:
非props特性:
屬性會展示在dom 節點上;
父傳子組件不接收,子組件不能使用父傳過來的數據;
props特性:
父組件傳子組件接收,然後在組件裏使用父組件傳來的數據;
屬性不易展示在dom標籤上;
組件綁定原生事件:
只需在綁定事件後加 .native就可以了
非父子組件傳值:
1、vuex框架來解決;
2、bus/總線/發佈訂閱模式/觀察者模式;
vue中的使用插槽(slot)
子組件從外部插入內容;
作用域插槽必用用template開頭結尾;
動態組件與v-once指令;
v-once指令可以提高靜態資源的性能,也會把資源放到內存中;