vue中的methods,conputed,watcher

todo

1,computed(计算属性) 属性的结果会被缓存, 除非依赖的响应式属性变化才会重新计算, 主要 当做属性来使用;(虽然是个方法,但是当做属性使用)(场景:引用一些经过操作的数据)

 computed: {
   fullName: function () {
     return this.firstName + this.lastName
   }
 }
1)firstName和lastName任意一个变化都会发生改变,但若都不发生变化,则直接取缓存中的值
2)fullName作为变量直接用在{{}}中,不可与data中的变量名重叠

2,methods(方法)表示一个具体的操作, 主要写 业务逻辑;(场景:方法的调用)

3,watch(监听器)一个对象, 键是需要观测的表达式, 值是对应的回调函数. 主要用来 监听某些特定数据的变化,从而进行某些业务逻辑的操作; 可以看做是computedmethods的结合体;(场景:监听路由地址)

 watch: {
     firstName: function (val) {
       this.fullName = val + ' ' + this.lastName
     },
     lastName: function (val) {
       this.fullName = this.firstName + ' ' + val
     }
 }
1)简单理解:firstName是data或者computed中的变量,当其变化时会触发相应的函数变化
2)watch的handler,immediate和deep属性 https://www.jianshu.com/p/b70f1668d08f

 

posted @ 2019-08-13 21:16  雨打芭蕉wt  阅读(545)  评论(0编辑  收藏  举报