Vue computed计算属性的使用方法
内容摘要
这篇文章主要为大家详细介绍了Vue computed计算属性的使用方法,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
computed
computed:相当
对此感兴趣的朋友,看看idc笔记做的技术笔记!
computed
computed:相当
文章正文
这篇文章主要为大家详细介绍了Vue computed计算属性的使用方法,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
computed
computed:相当于method,返回function内return的值赋值在html的DOM上。但是多个{{}}使用了computed,computed内的function也只执行一次。仅当function内涉及到Vue实例绑定的data的值的改变,function才会从新执行,并修改DOM上的内容。
computed和method的对比
代码如下:
<div id="example">
{{ message.split('').reverse().join('') }}
</div>
这个是vue官网一直拿来作为例子的代码。在{{}}可以很方便的放入单个表达式,但是当一个HTML的DOM里面存在太多的表达式,程序会变得很笨重难于维护。
html
代码如下:
<div id="app9">
9、method与computed的区别<br/>
fullName<br/>
{{fullName}}<br/>
fullName2<br/>
{{fullName}}<br/>
fullNameMethod<br/>
{{getFullName()}}<br/>
fullNameMethod2<br/>
{{getFullName()}}<br/>
</div>
js
代码如下:
var app9 = new Vue({
el: '#app9',
data: {
firstName: 'Foo',
lastName: 'Bar'
},
methods:{
getFullName:function () {
console.log("执行了methods")
return this.firstName+" " +this.lastName;
}
},
computed: {
fullName: function () {
console.log("执行了computed")
return this.firstName + ' ' + this.lastName
}
}
})
setTimeout('app9.firstName="Foo2"',3000);
控制台输出的结果
执行了computed执行了methods执行了methods执行了computed执行了methods执行了methods
由此可见使用computed,function只会执行一次。当Vue实例中绑定的data数据改变的时候,computed也相对应的只改变一次。
相同点:
在以上代码中,两个p标签都会打印出同样被反转的Hello。不同点:
使用了methods的:HTML中,每一个调用了Vue的methods的方法,都需要执行一遍reversedMessage()这个方法;而使用computed计算属性的,只执行一遍将结果保存在缓存中。computed和watch的对比
html
代码如下:
<div id="demo">{{ fullName }}</div>
js
代码如下:
var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar',
fullName: 'Foo Bar'
},
watch: {
firstName: function (val) {
this.fullName = val + ' ' + this.lastName
},
lastName: function (val) {
this.fullName = this.firstName + ' ' + val
}
}
})
代码如下:
var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar'
},
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持php教程。
注:关于Vue computed计算属性的使用方法的内容就先介绍到这里,更多相关文章的可以留意
代码注释