第3章计算属性和数据监听 在Vue组件的模板中,可以通过插值表达式输出模型变量的运算结果,例如以下代码中的{{a*b+b*c+a*c}}是插值表达式:
a={{a}},b={{b}},c={{c}}
插值表达式的取值:{{a*b+b*c+a*c}}
如果模板中嵌入了大量包含复杂运算的插值表达式,就会影响模板的可读性,而且插值表达式中不能包含流程控制逻辑,如不能包含ifelse条件判断或者for循环等。 为了弥补插值表达式的不足,Vue提供了以下3种替代方案。 (1) 用Vue的计算属性替代插值表达式。 (2) 用Vue的watch选项替代插值表达式。 (3) 用方法调用替代插值表达式。 本章会介绍这3种方式的具体用法,并且比较它们的优缺点。 3.1计算属性 Vue组件的computed选项是用来定义计算属性的。例程31演示了computed选项的基本用法。 例程31calculate.htmla={{a}},b={{b}},c={{c}}
插值表达式的取值:{{a*b+b*c+a*c}}
计算属性的取值:{{ result }}
First name:
Last name:
Full name:
{{ fullName }}
a={{a}},b={{b}}
a:
计算属性的取值:{{ result1 }}, {{ result2 }}
调用方法的结果:{{ getResult1() }}, {{getResult2() }}
序号 | 名称 | 价格 | 数量 | 小计 | 操作 |
---|---|---|---|---|---|
{{index+1}} | {{item.name}} | {{ currency(item.price,2) }} | {{ currency(item.count*item.price,2) }} | ||
总金额: {{ currency( total,2 ) }} |
{{ result }}