【问题标题】:Nuxt.js: add custom loading componentNuxt.js:添加自定义加载组件
【发布时间】:2019-05-07 02:49:55
【问题描述】:

我一直在尝试使用加载配置将加载微调器添加到我的 NuxtJS 项目:https://nuxtjs.org/api/configuration-loading

但是,文档很难理解,我不知道如何将它应用到我的项目中。有没有人知道如何使用它添加加载微调器?

提前致谢,

【问题讨论】:

    标签: vue.js loading nuxt.js


    【解决方案1】:

    因此您可以创建自定义加载:

    我们可以在 components/loading.vue 中创建我们的自定义组件:

    <template lang="html">
      <div class="loading-page" v-if="loading">
        <p>Loading...</p>
      </div>
    </template>
    
    <script>
    export default {
      data: () => ({
        loading: false
      }),
      methods: {
        start () {
          this.loading = true
        },
        finish () {
          this.loading = false
        }
      }
    }
    </script>
    
    <style scoped>
    .loading-page {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.8);
      text-align: center;
      padding-top: 200px;
      font-size: 30px;
      font-family: sans-serif;
    }
    </style>
    

    然后,我们更新我们的 nuxt.config.js 以告诉 Nuxt.js 使用我们的组件:

    export default {
      loading: '~/components/loading.vue'
    }
    

    然后在您的组件中,您可以显示和隐藏:

    this.$nuxt.$loading.start() 启动加载栏,this.$nuxt.$loading.finish() 完成它。

    你可以把它放在请求的回调中。

    【讨论】:

    • 我已经按照您的建议进行了尝试,但是当我调用 this.$nuxt.$loading.start() 时没有任何显示。我不确定是否缺少某些东西。
    • 就我而言 - 我不知道如何禁用此行为。路由更改时自定义加载程序可见,但我在代码中没有声明 start() 和 stop() 事件。
    • 不幸的是,它不起作用。我可以使用一个简单的 HTML 文件更改 nuxt 加载,但它不适用于 Vue 组件。
    【解决方案2】:

    可能是关于 z-index 值

    【讨论】:

      猜你喜欢
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      相关资源
      最近更新 更多