計算屬性關鍵詞: computed demo1: <div id="app"> <p>原始字元串: {{ message }}</p> <p>計算後反轉字元串: {{ reversedMessage }}</p> </div> <script> var vm = new Vue({ el: '#ap ...
計算屬性關鍵詞: computed
demo1:
<div id="app"> <p>原始字元串: {{ message }}</p> <p>計算後反轉字元串: {{ reversedMessage }}</p> </div> <script> var vm = new Vue({ el: '#app', data: { message: 'Ambbq!' }, computed: { // 計算屬性的 getter reversedMessage: function () { // `this` 指向 vm 實例 return this.message.split('').reverse().join('') } } }) </script>
computed vs methods
我們可以使用 methods 來替代 computed,效果上兩個都是一樣的,但是 computed 是基於它的依賴緩存,只有相關依賴發生改變時才會重新取值。而使用 methods ,在重新渲染的時候,函數總會重新調用執行。
demo2:
<div id="app"> <p>原始字元串: {{ message }}</p> <p>計算後反轉字元串: {{ reversedMessage }}</p> <p>使用方法後反轉字元串: {{ reversedMessage2() }}</p> </div> <script> var vm = new Vue({ el: '#app', data: { message: 'Ambbq!' }, computed: { // 計算屬性的 getter reversedMessage: function () { // `this` 指向 vm 實例 return this.message.split('').reverse().join('') } }, methods: { reversedMessage2: function () { return this.message.split('').reverse().join('') } } }) </script>