我想使用重新计算的或其他方式处理后续问题。
当我保存从someData
渲染的项目时,更新的数据将发送到服务器。
我想刷新someData
,以便我们可以从服务器上看到更新后的someData
。
$recomputed('someData')
不起作用。
我认为我应该使用Promise
,但不知道如何以及在哪里实现。
如果有人在这个问题上帮助我,我将不胜感激。感谢您的微小帮助。
组件:
computed : someData : function() {
return this.getData()// this is getters in the store
}
mounted() {
this.pullData() //this is actions for fetching data in the store,
this action commits fetched data to the state for getters
计算属性someData
用于模板。
我要编辑并保存someData
。
商店
const actions = {
async pullData(commit){
await ...// fetch data from apis and commit
}
}
const getters = {
getData : state.data
}
还实施了变异。
这不会渲染someData
,我的意思是someData
一旦渲染就为空
组件。
data : { someData : [] },
mounted (){
this.pullData();
this.someData = this.getData()
}
答案 0 :(得分:0)
pullData
是Locator Strategies动作,因此它已经返回了Promise
。从getData
检索结果之前,您必须先async
:
import { mapActions, mapGetters } from 'vuex'
export default {
async mounted () {
await this.pullData()
this.someData = this.getData
},
computed: {
...mapGetters(['getData'])
},
methods: {
...mapActions(['pullData'])
}
}