1. 响应数据变化的方法:
a)通过Vue的静态方法set:Vue.set(target,prop,value);
b)通过vue实例的方法$set:实例.$set(target,prop,value);
2. 在vue模板里面给事件的方法传参时,需手动使用$event把事件对象传给方法
3. 计算属性对应的函数中的this指向的是实例,计算结果会缓存起来,可以在模板中重复使用
4. Vue的双向数据绑定原理:vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调
5. vue生命周期:
总共分为8个阶段创建前/后,载入前/后,更新前/后,销毁前/后。
创建前/后: 在beforeCreated阶段,vue实例的挂载元素$el和数据对象data都为undefined,还未初始化。在created阶段,vue实例的数据对象data有了,$el还没有。
载入前/后:在beforeMount阶段,vue实例的$el和data都初始化了,但还是挂载之前为虚拟的dom节点,data.message还未替换。在mounted阶段,vue实例挂载完成,data.message成功渲染。
更新前/后:当data变化时,会触发beforeUpdate和updated方法。
销毁前/后:在执行destroy方法后,对data的改变不会再触发周期函数,说明此时vue实例已经解除了事件监听以及和dom的绑定,但是dom结构依然存在
6. vuex:一种管理状态的开发模式,应用级的状态集中放在store中; 改变状态的方式是提交mutations,这是个同步的; 异步逻辑应该封装在action中
7. 可以用<keep-alive>将动态组件包裹起来,防止组件切换回来时重新渲染,<keep-alive> 要求被切换到的组件都有自己的名字,不论是通过组件的 name 选项还是局部/全局注册
8. vue rooter全局钩子:beforeEach,afterEach