| | |
| | | <template> |
| | | <div> |
| | | <div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" :infinite-scroll-distance="10"> |
| | | <div v-for="temp in data"> |
| | | <newArticle></newArticle> |
| | | <box5 v-bind="temp"></box5> |
| | | <div class="mySecret" v-if="data.length==0"> |
| | | <p>空空如也..</p> |
| | | </div> |
| | | |
| | | <div v-for="(temp,index) in data"> |
| | | <newArticle v-bind="temp" :index="index"></newArticle> |
| | | <!-- <box5 v-bind="temp"></box5> --> |
| | | </div> |
| | | |
| | | |
| | | <div v-if="loading && !busy" class="demo-loading-container"> |
| | | <a-spin /> |
| | | </div> |
| | | </div> |
| | | <a-row type="flex" justify="center"> |
| | | <div style="position:fixed;bottom: 10px;" id="dddadf"> |
| | | <div style="position:fixed;bottom: 10px;"> |
| | | <a-pagination @change="onChange" :showQuickJumper="true" :size="size" v-model="current" |
| | | :defaultPageSize="pageSize" :total="total" /> |
| | | :defaultPageSize="defaultPageSize" :pageSize="pageSize" :total="total" /> |
| | | </div> |
| | | </a-row> |
| | | <a-back-top> |
| | | <a-icon type="up" />回到顶部 |
| | | </a-back-top> |
| | | |
| | | </div> |
| | | </template> |
| | | <script> |
| | |
| | | import babyActicle from '../../assets/baby.htm' |
| | | import newArticle from "../mini/box-new-article.vue" |
| | | import shijie from '../../assets/shijie.htm' |
| | | import { |
| | | queryBlogArticleList |
| | | } from '../../api/blogArticle.js' |
| | | |
| | | var obj1 = { |
| | | "source": babyActicle, |
| | | "title": "陈奕迅-Body Song 歌词", |
| | | "read": 1101, |
| | | "like": 233, |
| | | "folder": "歌词", |
| | | "publishTime": "2021-05-26", |
| | | } |
| | | var obj2 = { |
| | | "source": shijie, |
| | | "title": "这世界那么多人-吉他谱", |
| | | "read": 3101, |
| | | "like": 113, |
| | | "folder": "吉他谱", |
| | | "publishTime": "2020-05-26", |
| | | } |
| | | var obj3 = { |
| | | "source": shijie, |
| | | "title": "遥远的它-吉他谱", |
| | | "read": 201, |
| | | "like": 13, |
| | | "folder": "吉他谱", |
| | | "publishTime": "2022-07-26", |
| | | } |
| | | |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | directives: { |
| | | infiniteScroll |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | |
| | | typeId: "", |
| | | data: [], |
| | | loading: false, |
| | | busy: false, |
| | | size: "small", |
| | | total: 500, |
| | | pageSize: 20, |
| | | total: 1, |
| | | pageSize: 6, |
| | | current: 1, |
| | | defaultPageSize: 10 |
| | | }; |
| | | }, |
| | | beforeMount() { |
| | | this.data = [obj1, obj2,obj3,obj2]; |
| | | created() { |
| | | this.typeId = this.$route.query.typeId; |
| | | }, |
| | | watch: { |
| | | '$route'(to, from) { |
| | | if ("articleList" === to.name || "home" === to.name) { |
| | | this.typeId = this.$route.query.typeId; |
| | | } |
| | | }, |
| | | typeId: function(newValue, oldValue) { |
| | | this.busy = true; |
| | | this.$message.info('loading', 0.3); |
| | | this.onChange(1); |
| | | }, |
| | | }, |
| | | activated() { |
| | | window.addEventListener('scroll', this); |
| | | }, |
| | | deactivated() { |
| | | window.removeEventListener('scroll', this); |
| | | }, |
| | | methods: { |
| | | onChange(current) { |
| | | this.current = current; |
| | | this.data = [obj2, obj3, obj1, obj2]; |
| | | queryBlogArticleList({ |
| | | pageNo: current, |
| | | pageSize: this.pageSize, |
| | | typeId: this.typeId |
| | | }).then((res) => { |
| | | this.busy = false; |
| | | this.total = Number(res.data.total) |
| | | this.pageSize = Number(res.data.size); |
| | | this.data = res.data.records; |
| | | return res |
| | | }) |
| | | }, |
| | | loadMore() { |
| | | const data = this.data; |
| | | this.loading = true; |
| | | this.busy = true; |
| | | |
| | | this.current += 1; |
| | | console.log(this.current); |
| | | console.log(this.busy); |
| | | queryBlogArticleList({ |
| | | pageNo: this.current + 1, |
| | | pageSize: this.pageSize, |
| | | typeId: this.typeId |
| | | }).then((res) => { |
| | | |
| | | if (data.length > 15) { |
| | | this.$message.warning('没有更多了'); |
| | | this.busy = true; |
| | | this.loading = false; |
| | | return; |
| | | } |
| | | this.total = Number(res.data.total) |
| | | this.pageSize = Number(res.data.size); |
| | | this.data = this.data.concat(res.data.records); |
| | | this.busy = false; |
| | | if (res.data.records.length == 0) { |
| | | //this.$message.warning('别滑了,别滑了,到底了..'); |
| | | this.busy = true; |
| | | this.loading = false; |
| | | return; |
| | | } else { |
| | | this.current += 1; |
| | | } |
| | | |
| | | return res |
| | | }) |
| | | |
| | | setTimeout(function() { |
| | | this.loading = false; |
| | | }, 1000); |
| | | }, 100); |
| | | |
| | | this.data = data.concat(obj1, obj3, obj2, obj3, obj1); |
| | | |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style> |
| | | /* .test { |
| | | overflow: hidden; |
| | | height: 700px; |
| | | } |
| | | |
| | | .infinite-container { |
| | | overflow: auto; |
| | | } |
| | | |
| | | .infinite-container::-webkit-scrollbar { |
| | | display: none; |
| | | } */ |
| | | |
| | | .demo-loading-container { |
| | | position: absolute; |
| | | bottom: 40px; |