【GHS】Vue 计算属性与方法

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2020-12-30

基本使用
   如果数据需要有复杂的计算,则可以在Vue实例中定义计算属性,再交由mustache进行渲染。

computed内部其实是通过getttr实现的,所以不用加括号即可完成其下方法的调用
computed对象内部的方法如果想调用同一Vue实例下的方法或者属性,可使用this进行调用,Vue内部会通过代理器进行查找
   如下所示,我们需要计算书籍的总价格:

书籍的总价格是:{{totalPrice}}

计算特性
   如果修改了数据源,那么计算属性会重新进行计算,如下所示,书籍总价本来为382,当我们修改其中任意一本书的价格后,书籍总价格也将发生改变:

  

   [图片]

methods
基本使用   methods中定义的方法通常都是搭配事件监听做回调的,虽然我们也可以让它计算书籍的总价格,但这并不是一个明智的选择:

methods下所定义的方法必须加括号才能完成调用
methods对象内部的方法如果想调用同一Vue实例下的方法或者属性,可使用this进行调用,Vue内部会通过代理器进行查找
  

   如下实例,用methods也可以完成书籍总价格的计算,同时它也用于computed的计算特性:

   [图片]

书籍的总价格是:{{totalPrice()}}

差异区别缓存特性
   computed具有缓存特性,即多次调用只会调用一次,只有当数据源发生改变时才会自行调用一次。

   而methods没有缓存特性,调用几次就执行几次,并且当数据源发生改变时也会自动调用之前的次数。

   [图片]

{{computedAdd}}
{{computedAdd}}
{{computedAdd}}

{{methodsAdd()}}
{{methodsAdd()}}
{{methodsAdd()}}
查看各执行几次

成为第一个回答人

评论

登录后才可发表内容
  • 主题

    106

  • 帖子

    82

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0821s Mem:2047Kb