Не удается получить доступ к свойству объекта окна в смонтированном Nuxt (Vue)
У меня есть расширение TronLink chrome, это расширение предоставляетwindow.tronWeb
свойство, и я хочу получить доступ к этому свойству после загрузки документа. Я пытаюсь сделать это вmounted()
раздел моего компонента страницы Nuxt:
// ...
mounted() {
this.tronWeb = window.tronWeb;
},
// ...
но я получаю undefined
.
Я решил эту проблему с таймаутом:
// ...
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()
раздел?
2 ответа
Попробуй это:
if (process.browser) {
console.log('The window object:', window)
}
вы можете обратиться к:nuxt docs> раздел ssr> окно не определено
поскольку этот код отображается на сервере, вы не можете получить доступ к объекту окна.
вы можете использовать
process.client
проверять и запускать код только на стороне клиента
if (process.client){
console.log('do sth')
}