模板内的表达式非常便利,但是设计它们的初衷是用于简单运算。在模板中放入太多的逻辑,会让模板过重而难以维护。

例如,下面是对message反向输出

<div id="example">
  {{ message.split('').reverse().join('') }}
</div>

对于任何复杂逻辑,建议使用计算属性。

基础实例

<div id="example">
  <p>Original message: "{{ message }}"</p>
  <p>Computed reversed message: "{{ reversedMessage }}"</p>
</div>
var vm = new Vue({
  el: '#example',
  data: {
    message: 'Hello'
  },
  computed: {
    // 计算属性的 getter
    reversedMessage: function () {
      // `this` 指向 vm 实例
      return this.message.split('').reverse().join('')
    }
  }
})

当vm.message发生改变时,vm.reverseMessage绑定也会更新

results matching ""

    No results matching ""