$ refs仍在工作时未定义

时间:2019-08-28 09:17:51

标签: javascript vue.js vuejs2 nuxt.js nuxt

我正在使用Nuxt JS 2.9.1和Vuetify JS构建本机混合应用程序。我有一个通知组件,该组件在@Injectable({providedIn: 'root'}) export class ApplicationState { 标记之后被加载到我的default.vue布局中,该组件被加载到每个页面中,并使用Cordova插件触发通知。

在每个页面上,我都向服务器发出HTTP GET请求,但是为了开发它是本地JSON文件,我使用Axios来做到这一点,但是,我需要从数组中访问单个对象每个页面上都有很多对象通过它的索引发送给通知组件。

由于无法访问方法中的每个对象索引,因此我将创建一个隐藏的<nuxt />,其中包含基于用户所在URL的对每个对象的引用,并且正在使用{ {1}}可以通过我的方法进行访问。

但是,尽管它可以正常工作,但仍然出现以下错误:

<div>ref

这些错误似乎不正确,因为它似乎仍然可以起作用。

Cannot read property '$refs' of undefined

上面是我的通知组件,在每个视图中加载。

如何抑制此错误,或者在这里可以采用什么替代方法。

2 个答案:

答案 0 :(得分:2)

尝试更换

document.addEventListener("deviceready", this.startFetchNotifications(), false)

作者

document.addEventListener("deviceready", this.startFetchNotifications, false)

在触发设备就绪事件侦听器时而不是在事件创建时调用 startFetchNotifications 函数。

答案 1 :(得分:0)

您应该避免在vuejs中使用$ ref ...

在第一次dom渲染后填充$ ref,因此$ ref在mouting()中为空

cf:https://vuejs.org/v2/api/?#ref