访问asyncData中的数据对象-Nuxt

问题描述 投票:0回答:1

我想知道是否有一种方法可以访问对象属性作为asyncData()返回的键?

data() {
    return {
       bookmark_btn: {
        status: null,
        loading: false
      }
   }
}

我尝试了如下所示的访问数据对象属性,但是没有用。

async asyncData(){
    let activity = await axios.get('data.json')
    return { bookmark_btn.status: activity.status}
}
javascript vue.js nuxt.js
1个回答
0
投票

简短回答编号

好的答案是,但是有一种解决方法。

您无法直接访问组件的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);
}
© www.soinside.com 2019 - 2024. All rights reserved.