模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如:
<div id="example">
{{msg.split("").reverse().join("") }}
</div>
,这里是想要显示变量 msg 的翻转字符串。当你想要在模板中多次引用此处的翻转字符串时,就会更加难以处理。
<div id="example">
<p>原来的信息: "{{ msg }}"</p>
<p>计算翻转的信息: "{{ rmsg }}"</p>
</div>
var vm = new Vue({
el: '#example',
data: {
msg: 'Hello'
},
computed: {
// 计算属性的 getter
rmsg: function () {
// `this` 指向 vm 实例
return this.msg.split('').reverse().join('')
}
}
})
结果:原来的信息: "hello"
计算翻转的信息: "olleh"