2018-03-24
2018-03-24 本文已影响0人
小熊530
计算属性的初步理解。
文档的第一句话说的真好:模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护
我理解的简单,就是绑定一个变量叫简单的运算,最多是一个简单的表达式如:
isactive === 1
。不能再多了。过重&难以维护,目前感受不到但是我相信它,也愿意把它当成一个vue的规范。
文档中给出了一下的例子:
<div id="example">
{{ message.split('').reverse().join('') }}
</div>
文档中是这样说的:你必须看一段时间才能意识到,这里是想要显示变量 message 的翻转字符串。当你想要在模板中多次引用此处的翻转字符串时,就会更加难以处理。
其实对于我这种小白来说设局话很重要:
重点在于两句话:
- "你必须要看一段时间才能意识到"
- "当你想要在模板中多次引用此处XX时"
第一句话翻译过来就是:vue虽然给你提供了很多对模板的操作,但是模板必须要够简洁,能让人一眼看过去知道是什么。
第二句话我的理解是:vue组件化,有一个很大的特点:复用,不仅常用的组件需要复用,组件中data中的变量、方法、计算属性、都要竟可能的复用。
开头最后一句话也很重要,说出了VUE的标准:对于任何复杂逻辑,你都应当使用计算属性
你说过,计算属性也是数据,我理解的是,它是对data数据中的数据进行在加工————的数据。
- 计算属性与过滤器
相同点:
- 都是对data中的数据进行处理
- 都不改变data中的原数据(但是如果在计算属性中使用变异方法,会不会改变原数据?我觉得会)
不同点:
- 职责不同,过滤器比较专一,是对数据的过滤,只渲染过滤后的数据。而计算属性是对原数据进行任何计算。所以计算属性很强大。
- 计算属性不能接受参数。过滤器必须接受参数,对接收到的参数进行过滤。
我以前写了一个算计属性,却不知道要绑定在哪里。计算属性可以绑定到模板中所用需要用到数据的地方