当你有一些逻辑会破坏你的模板时,你可以使用计算属性。
想法是,通常您希望将所有 javascript 逻辑保留在 vue 组件的 javascript 端,并且只访问数据中的最终数据(如果可能)
为此,您可以使用计算道具,它们通常会做一些简单的事情,例如:
computed: {
// a computed getter
reversedMessage: function () {
// `this` points to the vm instance
return this.message.split('').reverse().join('')
}
}
或者另一个很好的例子,如果你有一些货币并且你想在最后用千位分隔符和欧元 ign 格式化它。
然后您可以像访问普通道具一样访问模板中的计算道具,您不必将其作为函数调用。
像这样:
<div>{{reversedMesage}}</div>
每次,当你的计算属性中使用的任何变量发生变化时,vue vill 会处理它并重新计算你的计算属性。
假设您有以下内容:
computed: {
prettyAmount: function () {
return this.amount + ' ' + this.currency.toUpperCase()
}
}
<div>{{prettyAmount}}</div>
每当货币或金额发生变化时,prettyAmount 的输出也会发生变化。