首页 > 解决方案 > 如何在 nuxt 页面 validate() 中访问当前实例?

问题描述

我返回一个Promisein validate()。现在,我想将服务器在验证中返回的数据传递给其中一种方法。但是,我无法做到这一点。请帮忙!

    validate({ params, store, context }) {
        return store.dispatch(types.VALIDATE_PARAMS_ASYNC, params.id).then(data => {
            this.saveSettings(this, data)
            return true
        }).catch(e => {
            return false
        })
    }

标签: vue.jsvuexnuxt.js

解决方案


这是不可能的。验证在实例初始化之前执行,因此您无法访问方法。并且 validate 不应该以这种方式使用。

对于传递数据,需要将它们保存到 vuex 存储中(最好在fetch方法中)或在asyncData方法中将它们作为数据返回。然后,您可以在例如挂载方法或 beforeMounted 中对数据执行您想要的操作。


推荐阅读