Vue.js 计算属性

来源:互联网 发布:淘宝网游戏道具 编辑:程序博客网 时间:2024/04/28 19:42
<div id="example">  {{ message.split('').reverse().join('') }}</div>

正常情况可以这么用,但是有的时候计算太长了,不利于模板维护.这个时候,我们就可以使用计算属性了.

<div id="example">  <p>Original message: "{{ message }}"</p>  <p>Computed reversed message: "{{ reversedMessage }}"</p></div>

在底下这个例子中,{{message}}中还是正常的文本插值.但是 {{reverseMessage}}中就不再是一个vue.data中的属性了.其中存的是一个函数名.插值的结果就是函数的返回值.函数在 computed 对象中.

var vm = new Vue({  el: '#example',  data: {    message: 'Hello'  },  computed: {    // a computed getter    reversedMessage: function () {      // `this` points to the vm instance      return this.message.split('').reverse().join('')    }  }})

还可以使用watch .也就是当数据发生改变的时候,执行指定函数

<div id="watch-example">  <p>    Ask a yes/no question:    <input v-model="question">  </p>  <p>{{ answer }}</p></div><script>var watchExampleVM = new Vue({  el: '#watch-example',  data: {    question: '',    answer: 'I cannot give you an answer until you ask a question!'  },  watch: {    // 如果 question 发生改变,这个函数就会运行    question: function (newQuestion) {      //code    }  }})</script>
0 0
原创粉丝点击