我想知道是否有一种方法可以访问对象属性作为asyncData()返回的键?
data() {
return {
bookmark_btn: {
status: null,
loading: false
}
}
}
我尝试了如下所示的访问数据对象属性,但是没有用。
async asyncData(){
let activity = await axios.get('data.json')
return { bookmark_btn.status: activity.status}
}
简短回答编号
好的答案是,但是有一种解决方法。
您无法直接访问组件的data
,因为asyncData
是服务器端,但是asyncData
具有特殊参数context
。有了它,您可以访问您的vuex商店。
async asyncData(context){
let activity = await axios.get('data.json')
context.store.commit("setStatus", activity.status);
}
在组件中,您可以从商店中获取数据。
通常ppl在参数上使用解构以缩短语法
async asyncData({ store }){
let activity = await axios.get('data.json')
store.commit("setStatus", activity.status);
}