Vue
... 2022-11-17 Less than 1 minute
# Vue
# Computed 和 Watch 的区别
computed 通过多个数据计算出一个新的数据。并且会缓存数据
<template>
<div>{{ getMsg }}</div>
</template>
<script>
export default {
data () {
return {
msg: '33',
text: '333'
}
},
computed: {
// 只有 msg 和 text 变化的时候,才会重新触发函数
getMsg() {
return this.msg + this.text
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
watch 监听某个数据,并且当数据变化的时候,会触发回调函数
<template>
<div>{{ text }}</div>
</template>
<script>
export default {
data () {
return {
msg: '33',
text: '333'
}
},
watch: {
text(nevVal) {
console.log(newVal, '新的数据')
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 组件通讯方式有哪些,尽量全面
- props 和 emit
- 自定义事件 eventBus
- $attrs 和 $listeners
- $parent 和 $refs
- provide 和 inject
- vuex