v-model实现父子之间通信 vue实现双向数据绑定: 每一个key有一个dep,当watcher读取数据时,dep会收集这个key的watcher,如果需要更改,会通知watcher,执行更新函数。 为什么用nextTick: 使用nextTick是一种优化机制,会等到DOM更新完后再读取页面上的数据,能够保证后台读取到的数据准确。 将回调函数压入callbacks数组,将执行函数放到宏任务或微任务中,然后依次执行callbacks的回调。 数据加1,页面没有加1是为什么: 修改数组需要用this.set,不能直接赋值。 使用v-for时,没用添加唯一的key属性。 dom的更新是异步的,当我执行data数据变化时,不会直接引发页面数据dom的更新,而是需要用nextTick()来异步执行更新操作。 v-slot 具名插槽的父组件用template,里面跟属性值v-slot:name 如果子组件的slot标签有写值,父组件的子组件的标签也有值,父组件会覆盖子组件插槽里面的内容。 默认插槽可以使用组件标签,具名插槽使用template标签。 当子组件向父组件传递方法时,父组件使用的是子组件传过来的方法和数据。 vue的作用域插槽会将组件的实例,方法,数据,计算属性暴露给插槽作用域。 子组件通过插槽暴露出数据和方法,父组件接受并使用。