数据变化,页面就会重新渲染
<div id="app">
{{ msg }}
</div>
const vm = new Vue({
el: '#app',
data: {
msg: '你好vue'
}
});
vm.msg = "hello vue"
const vm = new Vue({
el: '#app',
data: {
msg: '你好vue'
}
});
vm.msg = "hello vue";
console.log(vm.msg);
console.log(vm.$el.innerHtml);
可以使用vm.$nextTick或者Vue.nextTick。在页面重新渲染后,会立刻执行
这两个函数。这两个函数也可以当做promise使用
const vm = new Vue({
el: '#app',
data: {
msg: '你好vue'
}
});
vm.msg = "hello vue";
console.log(vm.msg);
vm.$nextTick(() => {
console.log(vm.$el.innerHTML); //hello vue
});
Vue.nextTick(() => {
console.log(vm.$el.innerHTML); //hello vue
})
Vue.nextTick内部函数的this指向window
vm.$nextTick内部函数的this指向Vue实例对象
利用索引直接设置数组项,修改数组长度,添加或删除对象都不是响应式的
<div id="app">
{{ people }}
{{ obj }}
</div>
const vm = new Vue({
el: '#app',
data: {
people:['小红','小明','coffee'],
obj:{
name:'coffee',
age:18
}
}
});
如果我们通过下面的方式改变数组或对象,那么页面不会重新渲染。
vm.people[3] = "小白";
vm.people.length = 0;
vm.obj.wife = "小红";
delete vm.obj.age;
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务