Vue初体验(八)属性和方法
1、Vue会代理data对象里面所有的属性!!这句话的意思就是,只有在data对象里面明确的写着的属性,Vue才会真的监听到属性的变化,当我们变化这个属性的值的时候,才会引发界面的渲染,否则,Vue无法监听到这种渲染,就不会引发界面渲染。示例demo:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>vue学习
·
1、Vue会代理data对象里面所有的属性!!
这句话的意思就是,只有在data对象里面明确的写着的属性,Vue才会真的监听到属性的变化,当我们变化这个属性的值的时候,才会引发界面的渲染,否则,Vue无法监听到这种渲染,就不会引发界面渲染。
示例demo:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>vue学习</title>
<script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<span>{{message}}</span>
<span>{{message2}}</span>
</div>
<script>
var vm = new Vue({
el:"#app",
data:{
message:"hello"
}
});
vm.message = 'world';
vm.message2 = 'world';
</script>
</body>
</html>
运行结果就是界面上只展示一个world。因为我们的data中只有message,而没有message2.
2、Vue的实例属性
什么是实例属性?顾名思义,实例属性就是实例化了的属性,相当于一个构造函数中this.name = name;this.age = age; 的意思。
实例的概念是针对JavaScript中的原型的概念来区别的。原型就是我没必要实例化这个对象,本身就存在的原型的方法或者原型的属性。
如果你学过java,实例的意思类似于java中的成员变量,而原型相当于java中的静态变量。
在Vue中,为了区分,把所有的实例属性或者方法,前面都加上了”$”符号。
var vm = new Vue({
el:"#app",
data:{
message:"hello"
}
});
console.log(vm.$el);//获取了id为app的节点。
console.log(vm.$data);//获取了属性为message的对象。
3、Vue的实例方法
// $watch 是一个实例方法
vm.$watch('message', function (newVal, oldVal) {
// 这个回调将在 `vm.message` 改变后调用
})
更多推荐
已为社区贡献11条内容
所有评论(0)