【问题标题】:AOS in Nuxt doesn't work when switching between pagesNuxt 中的 AOS 在页面之间切换时不起作用
【发布时间】:2020-09-18 14:11:44
【问题描述】:

我试图在我的 Nuxt 项目中以“通用”模式使用 AOS,但我在切换页面时遇到了问题。当我手动重新加载页面时,该工具工作正常,但由于某种原因,当我在页面之间切换时 AOS 停止工作。例如,在我的主页上,我的文字淡出,当我第一次进入主页时,当我将该元素滚动到视图中时它就会起作用。但是,如果我离开主页,然后在某个时间点返回主页,则文本不再淡出并保持隐藏或不透明度为零。

这是我项目插件目录中的aos.js插件

import Vue from 'vue'
import AOS from 'aos'
import 'aos/dist/aos.css'
Vue.use(AOS.init())

这是nuxt.config.js中的插件数组

plugins: [
    { src: '~plugins/aos', ssr: false, mode: 'client' },
  ],

这是我的 Vue 组件中的 HTML 元素。

<div
   :class="{
      'py-6': true,
      'px-6': !isMobile,
      'px-0': isMobile,
   }"
   data-aos="fade-up"
   data-aos-duration="1000"
>
   ...content in here...
</div>

任何帮助将不胜感激。谢谢。

【问题讨论】:

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


    【解决方案1】:

    接受的答案对于较新的 Nuxt 版本不再有效。对于在 Nuxt 中处理浏览器 window 的库,您必须禁用 SSR。你可以阅读更多关于这个https://nuxtjs.org/docs/directory-structure/plugins/#client-or-server-side-only

    export default {
      plugins: [
        { src: '~/plugins/aos.js', mode: 'client' }, // only in client side
        '~/plugins/aos.client.js', // this syntax also works
      ]
    }
    

    【讨论】:

      【解决方案2】:

      您必须为在 Nuxt 中处理浏览器窗口的库禁用 SSR,例如这应该可以工作

      plugins: [
        { src: '~plugins/aos', ssr: false },
      ],
      

      您可以在文档https://nuxtjs.org/docs/directory-structure/plugins/#client-or-server-side-only中找到更多信息

      【讨论】:

      • 一句解释会让这个答案更清楚:)
      • @MikeSzyndel 您必须为在 Nuxt 中处理浏览器窗口的库禁用 SSR。你可以阅读更多关于这个nuxtjs.org/docs/directory-structure/plugins/…
      • 感谢您的回复@AbdallaArbab。不是我看不懂答案,而是这个答案被认为是低质量的,应该扩展stackoverflow.com/help/review-low-quality。由于您有足够的声誉,请随意编辑它
      • @MikeSzyndel 在发布我之前的回复之前我确实做到了。它被拒绝了,我被告知它更适合作为评论而不是我在那之后所做的事情?
      • 我添加了一个单独的答案。这个问题在google上得分很高,确实值得添加一个有用的答案。
      猜你喜欢
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 2022-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      相关资源
      最近更新 更多