怎么在nuxt里使用windons对像呢?

看官方文档说的不是很清楚

阅读 4.6k
2 个回答

window 对象(API)使用,可以在 vue 其他生命周期进行访问,例如 mounted,最好判断是否存在在去访问。
process.server,process.browser。等。
官网描述

最简单的是在 mounted 钩子中用,这个钩子只在前端触发

如果第三方插件必须要用到 window 对象,可以以插件的形式引入,只需要在 nuxt.config.js中将引入的对象插件设置成 ssr: false 即可。

如:

 plugins: [ { src: '~/plugins/vue-notifications', ssr: false }]

在像 asyncData fetch 等服务端和前端都生效的钩子中,可以用 isServerisClient 来判断钩子是在那端执行。

例如:

asyncData ({isServer, isClient}) {
   if (isServer) {
      // 服务端执行的偌
   }

   if (isClient) {
     // 客户端执行的代码,可以用 `window` 对象
   }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题