您的位置:首页 > 产品设计 > UI/UE

关于computed(计算属性) methods watched (VUE)区别

2018-03-28 15:37 866 查看
关于computed(计算属性) methods watched官网的说明如下:

    计算属性:https://vuejs.org/v2/guide/computed.html#ad

    methods : https://vuejs.org/v2/guide/computed.html?#ad

   watched : https://vuejs.org/v2/guide/computed.html#Computed-vs-Watched-Property

        关于代码https://vuejs.org/(官网)的就挺好用,这里就不多写了,就只写写纯文字总结了
   
computed(计算属性):和普通属性一样是在模板中绑定计算属性,当data中对应数据发生改变时,计算属性值会随之改变
 methods: 是方法,只要调用,函数就会执行 
------------
computed 和methods 达到的效果是相同的
不同点是:计算属性compute是基于他们的依赖(如果是实例范畴之外的依赖,比如非响应式的not reactive是不会触发属性更新的)进行缓存(计算属性的结果会被缓存),只有相关依赖会发生改变时才会重新求值,未改变只会返回只之前的结果,不在执行函数 
故:计算属性computed和methods都不应该使用箭头函数来定义计算属性 因为箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向Vue
        computed是响应式的,methods并非响应式。
        调用方式不一样,computed定义的成员像属性一样访问,methods定义的成员必须以函数形式调用。
        computed是带缓存的,只有其引用的响应式属性(属性绑定)发生改变时才会重新计算,而methods里的函数在每次调用时都要执行。但是在利用实时信息时,比如显示当前进入页面的事件,必须用methods方式
computed中的成员可以只定义一个函数作为只读属性,也可以定义get/set变成可读写属性,这点是methods中的成员做不到的。
       computed 计算属性的方法在用属性时不用加(),而methods 方法在使用时要像方法一样去用,必须必须要加(){{ mes() }}
--------------------------------------------------------------------------
computed计算属性  
  原值与新值一样不会触发
  在fn中return 出来的就是最终获取的值
  在fn中凡是用到this.XXX,这个属性就会被监视起来
如有描述错误,还望多多指正,谢谢!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: