vue.js - 如何在 nuxt 页面 validate() 中访问当前实例?
问题描述
我返回一个Promise
in 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
})
}
解决方案
这是不可能的。验证在实例初始化之前执行,因此您无法访问方法。并且 validate 不应该以这种方式使用。
对于传递数据,需要将它们保存到 vuex 存储中(最好在fetch方法中)或在asyncData方法中将它们作为数据返回。然后,您可以在例如挂载方法或 beforeMounted 中对数据执行您想要的操作。
推荐阅读
- prometheus - counter and timer with the same pattern do not work (Prometheus)
- angular - 为什么订阅在 Angular 中没有 Observable 的情况下工作
- kotlin - kotlin如何将文本解析为数据类列表
- nlp - 给定模型“en”中每个词向量的维数为 0
- python - 检查两个索引内列中数据框中的重复值
- android - android.view.ViewRootImpl$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触其视图。(RxJava)
- forms - 如果 body:Form 未在颤振应用程序中使用,则我的表单数据未提交或保存
- jquery - 使用jquery查找最后五个div中最大的id
- node.js - 通过 npm 安装卡住,它挂起
- python - 我想提取一个类对象拥有的所有值