如果我有一个如下所示的计算属性:
computed: {
greeting() {
const state = this.$store.state;
if (state.name === 'Joe') {
return 'Hey, Joe';
} else {
return 'Hello, ' + state.name;
}
}
}
Vue要设置观察者的对象是什么? this.$store.state
或state.name
或两者兼而有之?问因为:
答案 0 :(得分:0)
如果this.$store.state
和this.$store.state.name
属性是被动的(它们应该是),那么当这些属性的值发生变化时,Vue将观察这些属性的变化并重新评估greeting
不会观察到任何其他属性。
这将导致重新评估greeting
:
this.$store.state.name = 'foo';
this.$store.state = bar();
这将不导致greeting
被重新评估:
this.$store.state.foo = 'foo';
this.$store.state.a.b.c = 'bar';
this.$store.apple = 'pink lady';