我想使用Nuxt中的Vuex存储模块从后端返回一条记录。
我的组件中包含以下内容,该内容传递了我想要的值 (这是$ route.params.caseId)
svgjs
我将$ route.params.caseId传递给vuex存储模块中的getCase操作,如下所示
dataURL
convert情况是从firebase密钥中提取id并将其作为id字段添加到我的数组中(以这种方式对firebase中的单个结果正确吗?)
我的突变
const obj = {'0': 'data0', '1': 'data1'},
exist = Object.values(obj).indexOf('data1') > -1;
console.log('exist:', exist);
现在,当我使用
案例名称:{{caseId.case_name}}
我没有得到任何结果,
虽然我没有收到任何错误消息,但对我在做什么的任何想法请
非常感谢
答案 0 :(得分:0)
您可以像在分派方法中一样将更多数据传递给操作,然后再正常访问它们。
请注意getCase函数的data参数,在您的示例中data === $ route.params.caseId
//加载单个调查
getCase ({ commit, context }, data) {
return axios.get('http' + investigationID + '.json')
.then(res => {
const convertcase = []
for (const key in res.data) {
convertcase.push({ ...res.data[key], id: key })
}
commit('GET_CASE', convertcase)
})
.catch(e => context.error(e));
},
如果您要使用Promise,请查看下面我的应用中获取单个BLOG_POST的操作的示例
let FETCH_BLOG_POST = ({commit, state}, { slug }) => {
return new Promise((resolve, reject) => {
fetchBlogPost(slug, state.axios)
.then((post) => {
console.log("FETCH_BLOG_POSTS", post.data.data)
commit('SET_BLOG_POST', post.data.data)
resolve(post.data)
})
.catch((error) => {
console.log("FETCH_BLOG_POST.catch")
reject(error)
})
});
}