computed watth之间的区别:
1.computed能完成的功能, watch都可以完成。
2.watch能完成的功能, computed不一定能完成,例如:watch可以进行异步操作。
两个重要的小原则:
1.所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm或 组件实例对象。
2.所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数等),最好写成箭头函数,这样this的指向才是vm或 组件实例对象。
Vue监视数据的原理: 1.vue会监视data中所有层次的数据 2.如何监测对象中的数据? 通过setter实现监视,且要在new Vue时就传入要监测的数据 1.对象中后追加的属性,Vue默认不做响应式处理 2.如需给后添加的属性做响应式,请使用如下API: ① Vue.set(target,propertyName/index,value) ② vm.$set(target,propertyName/index,value) 3.如何监测数组中的数据? 通过包裹数组更新元素的方法实现,本质就是做了两件事: 1. 调用原生对应的方法对数组进行更新 2. 重新解析模板,进而更新页面 4.在Vue修改数组中的某个元素一定要用如下方法: ① 使用这些API:push()、pop()、shift()、unshift()、splice()、sort()、reverse() ②Vue.set() 或 vm.$set() 特别注意:Vue.set() 和 vm.$set() 不能给vm 或 vm的根数据对象(data等) 添加属性 ``` #### 1.1.11收集的表单数据 ```Vue 收集表单数据: 若:<input type="text"/>,则v-model收集的是value值,用户输入的内容就是value值 若:<input type="radio"/>,则v-model收集的是value值,且要给标签配置value属性 若:<input type="checkbox"/> 没有配置value属性,那么收集的是checked属性(勾选 or 未勾选,是布尔值) 配置了value属性: v-model的初始值是非数组,那么收集的就是checked(勾选 or 未勾选,是布尔值) v-model的初始值是数组,那么收集的就是value组成的数组 v-model的三个修饰符: v-model的三个修饰符: ① lazy:失去焦点后再收集数据 ② number:输入字符串转为有效的数字 ③ trim:输入首尾空格过滤
常用的生命周期钩子:
1.mounted:发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】
2.beforeDestroy:清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。
关于销毁Vue实例
1,销毁后借助Vue开发者工具看不到任何信息。
2.销毁后自定义事件会失效,但原生DOM事件依然有效。
3,一般不会在beforeDestroy操作数据,因为即便操作数据,也不会再触发更新流程了。