我刚刚使用vuex + Vue.js演示了一个非常快速的简单演示,因此,到目前为止,我具有以下商店代码:
export default new Vuex.Store({
state: {
title : 'I am the title ! Tanos avengers: End game !',
links : [
'http://amazon.com',
'http://google.com',
'http://flipkart.com',
]
},
getters : {
countLinks : state => {
return state.links.length;
}
},
mutations: {
ADD_LINK : ( state , link ) => {
state.links.push( link );
}
}
});
现在,当我使用此商店并将状态导入组件时,我将执行以下操作:
import { mapState } from 'vuex';
以及组件的computed
内部属性:-
computed : {
...mapState({
title : 'title',
links : 'links'
})
},
但是为什么将...mapState
放在computed
而不是data
里面呢?数据是否应该存储与组件相关的所有属性?
答案 0 :(得分:1)
因此computed property基本上是与组件相关的任何属性,而不仅仅是存储在内存中的简单信息,例如字符串,数字或JS对象。
由于Vue必须进入Vuex并检查this。$ store.state.title是什么,因此即使您不是像示例中那样自己实现计算,也可以算作计算,这使其成为计算属性。在Vue指南上。