【发布时间】:2017-11-10 20:59:58
【问题描述】:
如果这是我的 store.js 文件:
const state = {
count: 0,
loggedIn: false
}
const mutations = {
UP_COUNT(state) {
state++;
}
}
const actions = {
upCount({ commit }) {
commit('UP_COUNT');
}
}
假设要从我的一个 Vue 组件中增加状态 count,我将调用一个动作,然后提交一个突变:
this.$store.dispatch('upCount');
那么在另一个Vue组件中,我想使用状态计数:
<div class="count">{{ this.$store.state.count }}</div>
这种风格有什么问题? (相对于使用$this.store.getters...)
【问题讨论】:
-
我认为我对这篇文章的回答提供了一些(尽管我认为是)原因:stackoverflow.com/questions/47191231/…
-
感谢@webnoob,这是有道理的。我的理解是,如果您获取单个变量就可以了...但是如果需要过滤状态数据并返回,最好在 getter 中执行此操作,这样您就不需要在任何地方复制该过滤器代码调用它。
-
虽然这个问题可能是基于意见的,但我认为值得对此进行一些思考。肯定遵循最佳实践不是基于意见的吗?所述包的开发者必须有充分的理由使其成为最佳实践。
-
@thanksd - 很公平,谢谢。在这种情况下,我将添加最后的关闭投票。
标签: javascript vue.js vuejs2 getter-setter vuex