組合式api,主要目的就是為了解決以前那些邏輯較為複雜的大元件,各個邏輯點**相互分散,需要來來回回「跳轉」檢視,這種極不方便的操作。
1.以前寫在data/computed/watch/provide/inject
等標籤中的**,都可以提取到乙個setup
標籤中來使用,使該邏輯**相關的變數、函式處理、監聽等都在乙個邏輯塊中檢視。
這些在setup標籤中使用的原標籤,都需要通過從vue引用後再setup中使用
import
from
"vue"
;
2.ref、reactive
響應式變數設定:基礎型別使用 ref 、 引用型別使用 reactive
注意:
使用上述響應式包裹後的變數,若在setup標籤中使用,必須用 xx.value
的形式來訪問其值。但return出去
後的值,則已經被自動處理,不能通過xx.value來訪問,只能直接使用
。
如:
}<
/template>
helloworld.vue
5.由於setup只能表示一組邏輯點,因此,如果需要使用多個邏輯塊,需要單獨編寫js進行匯入。
helloworld.vue中引入並使用。因為js中匯出的是function,因此先執行,然後才能獲取到其return的值。當然 可以在主邏輯的任何位置呼叫該函式。
總的來說,這個setup的改進,確實讓我拍手稱快,以前最討厭的就是資料是資料扎堆,函式是函式聚集,各種來回翻轉看同乙個邏輯,煩的不行。點讚!
vue3的新特性及api
1.響應式原理 vue2的響應式原理是利用object.defineproperty而vue3則是利用proxy。proxy的效能和功能比object.defineproperty強很多 這裡的強是指api支援更好原始碼層次 可以看一下這邊文章proxy 與object.defineproperty...
vue3帶來的新特性 亮點
vue3在效能方面比vue2快了2倍。vue3中的核心api都支援了tree shaking,這些api都是通過包引入的方式而不是直接在例項化時就注入,只會對使用到的功能或特性進行打包 按需打包 這意味著更多的功能和更小的體積。vue2中,我們一般會採用mixin來復用邏輯 用倒是挺好用的,不過也存...
vue3新特性及api介紹(二)
接上文的介紹。vue3新特性位址戳我 vue3api介紹位址戳我 7.provide inject 用法和之前類似,不過只能在setup函式內使用 const prokey symbol provide provide prokey,aaa inject prokey,123 inject的第二個引...