Vue-computed 计算属性
一、说明
计算属性,其实是一个属性,但需要通过方法来返回其值,返回的结果即该属性的值
二、注意
- 在使用该属性的时候,与data中的属性一样,直接写【属性名】即可
- 计算属性会被缓存:第一次调用该属性时,会调用方法该方法,返回该值的结果,而后如果该属性依赖的其他属性中没有改变,则会从缓存中取该属性。每当该属性依赖的属性中有被修改的,则会调用方法,重新返回一个新的值
- 而methods中每次都会调用,所以与methods相比,computed的效率高
- 与watch不同,执行的方法有返回值,返回的值即该属性的值
二、代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="../lib/vue.js"></script>
</head>
<body>
<div id="app">
<!-- 1.字符串拼接案例, 输出结果为【用户名---密码】-->
name:<input type="text" v-model="name">
pwd:<input type="text" v-model="pwd">
<!-- 调用计算属性result,由于第一次调用,所以会指定对应的方法-->
result:<input type="text" v-model="result">
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
name: '',
pwd: ''
},
methods: {},
computed: {
// 2.计算属性,其实是一个属性,但需要通过方法来返回其值,返回的结果即该属性的值
// 注意:
// 在使用该属性的时候,与data中的属性一样,直接写【属性名】即可
// 第一次调用该属性时,会调用方法该方法,返回该值的结果,而后如果该属性依赖的其他属性中没有改变,则会从缓存中取该属性。
// 而methods中每次都会调用,所以与methods相比,computed的效率高
result: function () {
return this.name + "---" + this.pwd
}
}
})
</script>
</body>
</html>
更新时间:2019-12-22