首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法访问已安装的Nuxt (Vue)中的窗口对象属性

无法访问已安装的Nuxt (Vue)中的窗口对象属性
EN

Stack Overflow用户
提问于 2020-04-09 21:41:00
回答 2查看 4.7K关注 0票数 2

我有一个TronLink chrome扩展,这个扩展提供了一个window.tronWeb属性,我想在加载文档之后访问这个属性。我正在我的Nuxt页面组件的mounted()部分尝试这样做:

代码语言:javascript
复制
// ...
mounted() {
  this.tronWeb = window.tronWeb;
},
// ...

但我收到了undefined

我已经通过超时解决了这个问题:

代码语言:javascript
复制
// ...
mounted() {
  let _this = this;

  let attempts = 0;
  setTimeout(function startGame() {
    if (window.tronWeb) {
      _this.tronWeb = window.tronWeb;
    } else {
      attempts++;
      if (attempts >= 5) {
        console.log(error);
      } else {
        setTimeout(startGame, 500);
      }
    }
  }, 0);
},
// ...

但看起来这是一个非常奇怪的解决方案。为什么我不能在mounted()部分直接访问这个属性?

EN

回答 2

Stack Overflow用户

发布于 2020-04-25 05:59:50

试试这个:

代码语言:javascript
复制
if (process.browser) {
  console.log('The window object:', window)
}
票数 2
EN

Stack Overflow用户

发布于 2022-02-16 09:02:43

您可以参考:nuxt docs > ssr section > window is not defined

因为此代码是在服务器中呈现的,所以无法访问window对象。

您可以只在客户端使用process.client来检查和运行代码。

代码语言:javascript
复制
if (process.client){
   console.log('do sth')
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61130660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档