5.Vue计算属性和监听器

5.Vue计算属性和监听器

计算属性

computed来定义计算属性

作用: 调用计算属性时会显示return的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<body>

<div id='app'>
{{print}} <!-- Hello World -->
</div>

</body>
<script>

var vm = new Vue({
el: '#app',
data: {
message: 'Hello',
},
computed: {
print: function() {
return this.message + " World";
}
}
})

</script>

也可以在计算属性中定义get和set,当给计算属性赋值时会调用set,使用计算属性则会调用get

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<body>

<div id='app'>
{{print}} <!-- Hi World -->
</div>

</body>
<script>

var vm = new Vue({
el: '#app',
data: {
message: 'Hello',
},
computed: {
print: {
get: function() {
return this.message + " World";
},
set: function(newMsg) {
this.message = newMsg;
}
}
},
})
vm.print = "Hi"; //调用了set

</script>

注意: 不同于methods, 计算属性是有缓存的,只有值改变时才会重新计算

侦听器

watch来定义侦听器

作用: 当值发生改变时会调用侦听器的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<body>

<div id='app'>
{{message}}
</div>

</body>
<script>

var vm = new Vue({
el: '#app',
data: {
message: 'Hello',
},
watch: {
message: function(newVal, oldVal) {
console.log(oldVal + "-->" + newVal);
}
}
})
vm.message = "Hi";

</script>

5.Vue计算属性和监听器
http://xwww12.github.io/2022/08/02/前端/vue/5.Vue计算属性和监听器/
作者
xw
发布于
2022年8月2日
许可协议