9.【nuxt起步】-scroll分页加载

面是单页,下面实现一个列表页和分页加载的例子

1.新建pages/list.vue

<template>

  <div>

    分页加载列表页面

  </div>

</template>

<script>

export default {

}

</script>

2.我们从footer的首页改成更多,然后从footer的更多跳转到list.vue,修改footer如下

 

<nuxt-link :to="'/list'" id="go-home" style="width: 50%;">

  <i class="iconfont icon-home"></i>

  <span>更多</span>

</nuxt-link>

3.新建 /component/scrollpage.vue,网上找的一个开源的scrollpage.具体参看源码

4.新建 /component/less/scroll.less

5.新建 /component/img/down-logo.png,refresh-logo.gif

Cnpm install less 运行报错了,看下list.vue的源码

 

<template>

<div></div>

<!--

<my-scroll :on-refresh="onRefresh" :on-infinite="onInfinite" :dataList="scrollData" >

</my-scroll>

-->

</template>

<script>

import MyScroll from '~/components/ScrollPage.vue'

import axios from 'axios';

export default {

  async asyncData({

    app

  }){

    let res =await axios({

    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },

    method: 'get',

    url: `http://test.yms.cn/testjson.asp`,

    data: ''

    })

    return{

      tdInfo:res.data

    }

},

data(){

  return{

  tdList:[],

  scrollData:{

  noFlag: false //暂无更多数据显示

  }

  }

},

method:{

/*

onRefresh(done){

done();

},

onInfinite(done){

done();

}

*/

}

}

</script>

 

 

再看看浏览器报错的信息

 

6.这个就是跨域的问题,我们需要用到nuxt-proxy,可以先了解下这个东东

 

Cnpm install @nuxtjs/proxy --save 

 

7.修改nuxt.confg.js

modules:[

  '@nuxtjs/axios',

  '@nuxtjs/proxy'

],

axios:{

  prefix:'/api/',

  proxy:true

},

proxy:{

  '/api':

  {

    target:'http://test.yms.cn',

    pathRewrite:{'^/api':'/'}

  }

},

8.List.vue修改如下

 

async asyncData({

  app

  }){

    let res =await axios({

    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },

    method: 'get',

    url: `http://localhost:3000/api/testjson.asp?act=list`,

    data: ''

    })

  return{

    tdList:res.data

  }

},

 

 

9.刷新 OK了,list.vue最后修改如下:

 

转载于:https://www.cnblogs.com/kobewang/p/10044204.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Nuxt.js中使用vue-seamless-scroll,首先需要在plugins目录下创建一个vue-seamless-scroll.js文件,并在文件中导入Vue和SeamlessScroll组件,然后使用Vue.use(SeamlessScroll)进行注册。 接下来,在nuxt.config.js文件中的plugins配置项中添加如下内容: ```javascript plugins: [ '@/plugins/element-ui', '@/plugins/axios', { src: '@/plugins/vue-seamless-scroll', ssr: false }, ] ``` 这样就可以将vue-seamless-scroll插件引入到Nuxt.js项目中了。 然后,在需要使用滚动组件的文件中,使用`<vue-seamless-scroll>`标签,并传入相应的数据和类名等参数。例如: ```html <vue-seamless-scroll :data="runningData" :class-option="scrollOption" class="scroll-container"> <div class="flex-row" v-for="item in runningData" :key="item.id"> <span class="row-1 row-nomal">{{ item.mbShowName }}</span> <span class="row-2 row-nomal">{{ item.mbShowVal }}</span> <span class="row-3 row-nomal">{{ item.updateTime | dateFilter }}</span> </div> </vue-seamless-scroll> ``` 这样就可以在Nuxt.js中使用vue-seamless-scroll组件了。 如果你在公司的基于Nuxt.js的项目中使用滚动组件后刷新页面出现"window is not defined"的错误,可能是因为滚动组件依赖于浏览器环境,而在服务器端渲染时无法访问到window对象。解决这个问题可以将ssr选项设置为false,如前面的配置所示。这样就可以避免在服务器端渲染时出现该错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [在 Nuxt中使用滚动组件 vue-seamless-scroll](https://blog.csdn.net/weixin_44769310/article/details/116144924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值