【问题标题】:Update data fetched by asyncData() in Nuxt更新 Nuxt 中的 asyncData() 获取的数据
【发布时间】:2019-03-08 21:48:20
【问题描述】:

不知道有没有办法更新asyncData()返回的数据?对于论坛应用,在帖子页面中,我通过以下方式获取回复数据:

async asyncData(){
    const {data:replies}=await axios.get('replies.json')
    return { replies }
}

并在模板中渲染:

<div v-for="rep in replies">
    <div>{{rep.likes}}</div>
    <div>{{rep.content}}</div>
</div>

我想在帖子页面中实现replyToPost 功能。但是,当用户发布回复时,我不知道如何更新 asyncData() 方法已经获取的 replies 数据。

【问题讨论】:

    标签: nuxt.js


    【解决方案1】:

    任何 asyncData 项,在您的情况下,“回复”一旦被初始化,其行为就像一个常规数据项,因为 Nuxt.js will automatically merge the returned object with the component data.。因此,您可以像更改任何其他数据项一样更改它。我假设 'replies' 是一个数组,所以你可以有一个方法:

    newReply(reply) {
      this.replies.push(reply)
    }
    

    它将被添加到数组中。

    【讨论】:

    • 这个方法应该放在哪个钩子里?
    • 我必须在 asyncData() 中调用这个方法吗?
    • 它不会进入任何生命周期挂钩。只需将方法放在组件实例中的方法对象中即可。
    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 2020-09-12
    • 2021-03-07
    • 2019-03-21
    • 2019-12-11
    • 2021-07-26
    • 2019-09-11
    • 2019-05-03
    相关资源
    最近更新 更多