【vue學習】 vue裡的set使用方法
阿新 • • 發佈:2021-12-05
1.1 關於 template (html 攜帶的)
關於這個大家會想到後面的template 但是不要混淆,這個只是一個隱形的div,沒有div的佔位,但是可以包裹元素
1.2 關於set的雙向繫結的小祕密
set有大故事,並不是想的那麼簡單
首先我們都應該知道: set 和 get 是data裡面的屬性攜帶的方法。如同java裡,你如果要定義一個屬性那麼必然要寫上 setter和getter方法 ,才能訪問這個值。
這裡涉及到 生命週期函式裡的 beforeCreate 。這裡就是把props和data裡面的資料進行雙向繫結。
這裡面就有一個概念了,比如當前我們data裡面有一個 obj 但是沒有賦值
data(){
return {
obj:{}
}
},
mounted(){
//this.$set(obj,age,20)
this.obj.age = 20
}
我們在 頁面中 寫入 {{ obj }}
,頁面裡並不是顯示 { age :20} 而是 一個空物件,但是我們 點選 任何一個 this.$set
觸發函式的時候,這個上述的 物件就會變成如期的效果,原因就是 this.$set update
會把記憶體中直接渲染(可以那麼理解)
本章的例子就是:$set的上下移動
moveUp(index){ let prev = this.list[index - 1] //把前面的值先備份起來 this.list[index - 1] = this.list[index] this.$set(list,index,prev) }