首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Nuxt.js (Vue.js)中使用vue-无穷加载

如何在Nuxt.js (Vue.js)中使用vue-无穷加载
EN

Stack Overflow用户
提问于 2017-05-27 13:44:06
回答 3查看 7K关注 0票数 3

我在Nuxt.js (Vue.js)中开发web应用程序

首先,vue init nuxt/express MyProject

~page/help.vue

代码语言:javascript
复制
<template>
  <div>
    <p v-for="item in list">
      Line:
      <span v-text="item"></span>
    </p>
    <infinite-loading :on-infinite="onInfinite" spinner="bubbles" ref="infiniteLoading"></infinite-loading>
   </div>
</template>
<script>
let InfiniteLoading = require('vue-infinite-loading')
export default {
  ...
  components: {
    InfiniteLoading
  },
  methods: {
    onInfinite: function () {
      setTimeout(() => {
      const temp = []

      for (let i = this.list.length + 1; i <= this.list.length + 20; i++) {
          temp.push(i)
        }
      this.list = this.list.concat(temp)
      this.$refs.infiniteLoading.$emit('$InfiniteLoading:loaded')
      }, 1000)
    }
  }
} 
</script>

并且,从‘/家’到‘/帮助’

窗口未定义。

所以,我尝试了以下方法

代码语言:javascript
复制
let InfiniteLoading;
if (process.BROWSER_BUILD) {
  InfiniteLoading = require('vue-infinite-loading')
}

结果,

未能挂载组件:模板或呈现函数未定义。(在InfiniteLoading中找到)

我尝试过nuxt.js文档方法。,但是我无法解决它。我想找到一个更准确的答案。

帮帮我,谢谢。

EN

回答 3

Stack Overflow用户

发布于 2019-02-12 18:52:24

只是我自己做的,工作起来很有魅力。在https://guessthatshit.com的注释部分查看它的实际操作

安装:

代码语言:javascript
复制
npm install vue-infinite-scroll --save

在plugins目录中创建文件vue-无穷-scroll.js. in:

代码语言:javascript
复制
import Vue from 'vue'
import InfiniteScroll from 'vue-infinite-scroll'

Vue.use(InfiniteScroll);

更新nuxt.config.js以包括以下条目:

代码语言:javascript
复制
plugins: [
    {src: '~plugins/vue-infinite-scroll.js', ssr: false}
],

提示:不要忘记正确设置无限滚动禁用=“autoLoadDisabled”,否则您可能会垃圾邮件加载功能。

我还认识到(仅在nuxt生产中,而不是在dev中),HTML是在通过"props:‘评论员数据’“分配变量之前编写的。因此,在某个变量存在之前就触发了autoscroll函数。用以下方法解决这个问题:

代码语言:javascript
复制
    computed: {
        autoLoadDisabled() {
            return this.loading || this.commentsData.length === 0;
        },
    },
票数 3
EN

Stack Overflow用户

发布于 2017-09-27 09:22:46

如果在vue无限加载中使用NuxtJs,则需要在插件文件夹中创建一个file.js:

代码语言:javascript
复制
import Vue from 'vue'
import InfiniteLoading from 'vue-infinite-loading/src/components/Infiniteloading.vue'
Vue.use(InfiniteLoading)

然后,在nuxt.config.js中创建供应商构建:

代码语言:javascript
复制
build: {
   vendor: ['~/plugins/infiniteload.js']
},
票数 1
EN

Stack Overflow用户

发布于 2021-06-25 09:14:33

我的答案是与NuxtJs合作

  1. 将vue-无限加载作为插件添加到plugins文件夹中。
  2. 将此添加到nuxt.config.js文件=> { src: '@/plugins/vue-infinite-loading.js', ssr: false }
  3. 不要在您的文件或页面上导入它,只需使用它。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44217587

复制
相关文章

相似问题

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