2020年最新Vue常见面试题总结---为以后换工作做准备吧
前言:好歹也是用了三年的Vue老手了,天天搬砖,也没意思,想着研究一些深层次的东西,自己造造轮子,顺便换个城市,换个工作。第一题:Vue中Watch和Computed方法的区别?答:先说相同点吧,两个方法都可以监听数据变化,执行一些操作。再说不同点:1.写法不同,computed 无法拿到变化之前的值,watch可以。// 计算属性computed: {fullName() {return fir
·
前言:
好歹也是用了三年的Vue老手了,天天搬砖,也没意思,想着研究一些深层次的东西,自己造造轮子,顺便换个城市,换个工作。
第一题:Vue中Watch和Computed方法的区别?
答:
先说相同点吧,两个方法都可以监听数据变化,执行一些操作。
再说不同点:
1.写法不同,computed 无法拿到变化之前的值,watch可以。
// 计算属性
computed: {
fullName() {
return firstName + lastName;
}
fullName1: {
get: function() {
return this.firstName + this.lastName;
}
set: function() {
this.firstName = 'new_firstName'
}
}
}
// watch方法
watch: {
firstName(newVal, oldVal) {
// to do thing ...
}
lastName(newVal, oldVal) {
// to do thing ...
}
'obj.firstName':function() {
// to do thing ...
}
}
2. 应用场景不同,计算属性是当前计算的元素依赖于多个变量,例如firstName和lastName,可以通过简单的表达式得到fullName,如果要watch方法,则需要分别监听firstName和lastName。
3. 当需要在数据变化后,执行一些异步操作或者开销较大的操作时,用watch更有效,因为computed其实最初的设计是为了做一些简单运算的,而且不支持异步。
4. computed支持数据缓存,如果只是表达式中的数据变化,但是结果不变,他会直接调用缓存的值。而watch数据变化就会触发。
所以,当你在项目中需要监听数据变化的时候,思考一下,合理使用,可以提高项目性能。
更多推荐
已为社区贡献6条内容
所有评论(0)