vue常见问题

mvvm原理

model : 数据源

view : 带有特殊属性的html模版

viewModel:依靠指令修改数据和渲染模版

mvvm的设计设点    模版编译(compile)   数据劫持(observe)   发布订阅(Dep)  观察者(watcher)

响应式数据的原理

Vue 的响应式,核心机制是 观察者模式

数据是被观察的一方,当数据反正变化的时候,会通知所有的观察者,这样观察者能立马作出反应,重新渲染视图

vue检测数据的变化

push pop shift unshift sort splice reverse 等方法操作数组   会直接在视图上面响应

vue为什么采用异步渲染?

Vue这样做的好处是,最终一次性更新DOM,避免重复操作DOM,耗费性能。



export default {
    data () {
        return {
            message: 123
        };
    },
    methods () {
        fn () {
            this.message = 456;
            console.log(this.$refs.message.innerHTML); //?
        }
    }
}
//上面的答案是 123 ,原因此时还没有将数据的更改,重新更新到DOM中。

使用vue中的nextTick可以获取更新DOM后的操作
fn () {
    this.message = 456;
    this.$nextTick(function(){ //或者Vue.nextTick
       console.log(this.$refs.message.innerHTML); // 456
    });
}

 

你可能感兴趣的:(Vue.js)