对于一些须要变更的值,好比最初的时候有一个值,在以后咱们要将他进行改变。
可选的思路:
1.经过change或者click等这类事件来触发一个函数,在函数内部去修改一个变量。
2.经过watch的方法,监听被改变的变量,而后在watch的那个变量命名的函数中去对咱们要修改的值进行从新的赋值,或者是触发一次更新。
3.使用computed的方法,监听一个变量,经过return一个新的变量的方式来更新一个变量的数据。html
1.methods的方法是经过触发一个事件或者函数的回调来实现数据的更新,他的执行,依赖于事件的触发。
2.watch的相似于emit与on这种触发的方式,经过vue的$watch实例监听值得改变来自动的触发一个函数的执行。
3.computed函数的执行最快也是执行最靠前的,在html渲染开始,就已经执行了。vue
methods事件的触发就不说了,直接回调或者是绑定的@这样的事件来触发。
而watch的触发消耗也大,每次数据的改变就要触发一次函数的执行,要节省着点用啊。
computed用在改变一个变量的显示,和data对象里的数据属性是同一类的。返回的值直接就修改掉了原先的值,最大的优势在于简洁速度快也能够做为一个过滤器用也能够起到data中声明一个变量的做用,依赖别的变量来显示新的变量。函数
<p>Computed reversed message: "{{ reversedMessage }}"</p> <p>Computed reversed message: "{{message.split('').reverse().join('')}}"</p> var vm = new Vue({ el: '#example', data: { message: 'Hello' }, computed: { reversedMessage: function () { //代替上边的模板的表达式 return this.message.split('').reverse().join('') }}})