computed methods watch filters
computed(计算属性)
计算属性该属性里面的方法必须要有return返回值,这个返回值就是(value值)。
有几个关键点
- 1) 计算后属性不需要在data中重复定义
- 2) 计算后属性必须渲染后,绑定的方法才会生效
这里指就是定义后的变量名在上面html中显示
- 3) 计算后属性绑定的方法中的任意变量值更新,方法都会被调用
比如说方法中一个变量A,变量A变了函数会重新调用
- 4) 计算后属性为只读属性(不可写)
计算后属性为只读属性
- 5) 属性的结果会被缓存, 除非依赖的响应式属性变化才会重新计算, 主要 当做属性来使用;(虽然是个方法,但是当做属性使用)(场景:引用一些经过操作的数据)
1 computed: { 2 function () { 3 return this.firstName + this.lastName 4 5 } 6 }
methods(方法)
表示一个具体的操作, 主要写 业务逻辑;(场景:方法的调用)
methods属性里面的方法会在数据发生变化的时候你,只要引用了此里面分方法,方法就会自动执行。这个属性没有依赖缓存
watch(监听器)
这个监听的是data属性里面的数据,当这个数据发生变化时,将自动执行这个函数。
主要用来 监听某些特定数据的变化,从而进行某些业务逻辑的操作; 可以看做是computed
和methods
的结合体;(场景:监听路由地址)
注意点
-
- 1) 监听绑定的属性,该属性可以get、set
- 2) 监听的属性一旦发生值更新,绑定的方法就会被调用
- 3) 监听的属性是已定于的属性
必须在data中定义
1 watch: { 2 firstName: function (val) { 3 this.fullName = val + ' ' + this.lastName 4 }, 5 lastName: function (val) { 6 this.fullName = this.firstName + ' ' + val 7 } 8 9 }
filter(过滤器)
内容格式化,将输入的数据,按照某种规则进行输出,从这一层讲,感觉叫 formatter 可能更合适;
与methods中定义的一个方法使用方法差不多