【发布时间】:2018-11-10 14:24:25
【问题描述】:
我正在尝试从组件更改状态对象属性的值,但找不到正确的方法
这是我的状态:
state: {
articles: [ {
title: "Lorem ipsum",
position: 7
}, {
title: "Lorem ipsum",
position: 8
}
]
}
在组件的计算属性中:
return this.$store.state.articles.filter((article) => {
return (article.title).match(this.search); /// just a search field, don't mind it
});
我想把每一个10岁以下的article.position改成article.position = +'0'article.position。
我试过了:
let articlesList = this.$store.state.articles
if(articlesList.position < 10) {
articlesList.position = +'0'articlesList.position
}
我知道这不是一个好方法,但这就是我所拥有的。有小费吗? :)
【问题讨论】:
-
你应该只用突变来改变状态。 (vuex.vuejs.org/guide/mutations.html) 然后你可以用
store.commit('ajustPosition')调用突变 -
感谢您的帮助。我应该如何访问突变中的 state.articles.position?