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