1. 程式人生 > 其它 >【vue學習】 vue裡的set使用方法

【vue學習】 vue裡的set使用方法

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)
}