computed -计算属性
用途
watch -侦听
- 一旦data数据变化,就执行的函数
- options.watch用法
- this.$watch用法
- deep,immediate含义
用途
什么是变化
- 实例
- obj原本是{a:'a'},现在obj={a:'a'}
- obj变了,obj.a没有变
- 简单类型看值,复杂类型看地址
- 这其实就是===规则
deep:true是干什么的
- 如果object.a变了,请问object算不算也变了
- 如果你的答案是也变了,呢么使用deep:true
- 如果你的答案是没有变,那么就用deep:false
- deep的意思就是,监听object的时候是否网深了看
注意:具体看文档哦。
语法1
watch:{//不要使用箭头函数
o2:function(values,oldValue){},
o3:(){},
o4:[f1,f2],
o5:
o6:{handler:fn,deep:true,immediate:true},//handler要执行的函数,deep是否往深看,immediate是否第一次执行
}
语法2
vm.$watch('xxx',fn,{deep:...,immediate:...})
computed和watch的区别
- computed就是计算属性的意思,watch就是监听的意思;
- computed是用来计算一个值的,不用加括号可以当属性直接用,根据依赖自动缓存
- watch由两个选项一个是deep一个是immediate,deep是是否往深了看,immediate是在第一次渲染时是否执行这个函数。
directives -指令
- 内置指令 v-if/v-for/v-bind/v-on
- 自定义指令,如v-focus
- 指令就是减少重复的dom操作
minxin -混入
- 重复三次之后的出路
- 混入v.s.全局混入
- 选项自动合并
- 混入就是为了减少重复的构造选项
extends -继承
- 先了解一下Vue.extend
- 感觉mixin还是有点重复
- 继承就是为了减少重复的构造选项
provide/inject
- 爷爷想要和孙子讲话怎么办
- 祖宗要和他的后代讲话怎么办,
- 使用全局变量,但是全局变量不是很好
- 所以使用局部全局变量