var store = new Vuex.Store({
state:{
entities:[entity1,entity2]
entity:{
conetnt:'',
id:'',
title:''
}
},
actions:{
getEntity({commit},payload){
commit('getEntity',payload)
}
},
mutations:{
getEntity(state,payload){
let entity = state.entities.find(m=>m.id==payload.id})
state.entity =entity
}
}
})
Views:
表单:
<x-textarea title="跟进内容" v-model="entity.content"></x-textarea>
<x-input="跟进内容" v-model="entity.title"></x-input>
export default({
data:{
return {
entity:''
}
},
computed:{}
})
描述:
1.用户进入一个页面 触发action 获取entities数据列表。
2.用户点击列表中的某一项 进入 详情页面。详情页面是一个表单功能时修改entity 所以entity都是双向绑定的 此时 详情页面的数据
疑问:这里的entity数据时放到vuex中还是单独通过ajax去获取 组件单独保存一个局部状态,放到组件的data属性里面还是从state中取也就是通过action 触发 mutation
你的描述略有点不清晰。如果我没理解错,你可以试试这样:如果entity.content是放在state中的,那么你在组件内computed一下,这个vuex文档中应该写的比较清楚了。然后在某一个时间(比如页面加载等vue的生命周期钩子函数内,或者是自定义的事件内),触发一个action去获取(修改)数据,此时,页面会跟着变。如果我理解错了,请私信我删除此评论。