这是vue学习笔记之一,按照自己的思路和理解记得,所以有点乱,如果有疑义或问题的话,欢迎在下方提问相应问题留言~
在vue对象中添加方法(标红的都是vue对象中默认的属性,用户也可以自己创建,引用时应用app.
e
l
;
a
p
p
.
el;app.
el;app.data等)
Var app = new Vue({
el:’#app’, //el让Vue的实例接管Dom,即’#app’里所有的Dom;el负责让Vue app实例接管#app最外层的标签
template: ”
data:{ //data为Vue对象的固定格式
list:[‘第一课的内容’,’第二课的内容’]
},
methods:{ //方法,在插值表达式{{}}中调用时写函数名(), 记得加小括号
函数名:function(){
alert(‘method’);
},
watch:{ //监听了改变;内置缓存
属性:function(newData, oldData){ //属性是被监听的被改变项,可以将新值和旧值当做函数参数传入
alert(‘watch’);
}
如果想watch监听的数据第一次就运行计算,可以使用handler,和immediate:true结合,如下:
属性名(变量): {
handler (newName, oldName) {
…
},
immediate: true, // 声明这个属性会在一开始就执行一次,如果不声明的话第一次将不会执行,数据改变之后才会执行一次
// deep:true // 表示深入观察、深入监听到变量的内部属性,如果不申明deep属性,只有给当前监听的变量名赋值时才会改变,如果给变量名内部的属性/变量赋值将不会有任何作用。如果只想监听内部的某个属性/变量,可以将监听内容替换成字符串‘obj.a’,这样就只会检测到obj对象中的a属性
}
},
computed:{ //计算属性,其中的属性值是通过计算得来的;内置缓存
函数名/属性:function(){ // 这里的属性不能和data里的重名,computed相当于重新定
义了一个属性,这个属性是由其他属性计算得来的,就叫计算
属性,如果依赖的其他属性不发生变化,这个属性值也不会发
生变化
alert(computed’);
},
计算属性还可以这么写,把属性定义成一个对象
属性名:{
get:function () { // 依赖收集
return …
},
set: function (value) { // 派发更新
会接收到外部传过来的value值,value就是外部设置的该属性的值
}}
destroy:{ //销毁属性帮助销毁掉Vue实例的。运行后页面不会发生变化,但是Vue实例已经被销毁掉了
函数名:function(){
alert(‘destroy’);
},
}
})