Commit 91a524ebea350bd43f59725e352723313871c0f9

Authored by zhiyangdu
1 parent 745a895f

组件优化

src/components/dresserList/dresserList.vue
1 <template> 1 <template>
2 <div> 2 <div>
3 - <div class="item_box" @click="toDetail(dresserList)">  
4 - <img class="head_portrait" v-lazy="dresserList.user_img" /> 3 + <div class="item_box" v-for="(item,index) in dresserList" @click="toDetail(item)">
  4 + <img class="head_portrait" v-lazy="item.user_img || item.logo" />
5 <div class="user_info"> 5 <div class="user_info">
6 <div class="name"> 6 <div class="name">
7 - {{dresserList.title}} 7 + {{item.title}}
8 </div> 8 </div>
9 <div class="desc"> 9 <div class="desc">
10 - {{dresserList.user_title}} 10 + {{item.user_title || item.titles}}
11 </div> 11 </div>
12 </div> 12 </div>
13 <img class="arrow_right" src="static/img/icon_arrow_right.png" /> 13 <img class="arrow_right" src="static/img/icon_arrow_right.png" />
src/pages/fansShopMessageList/fansShopMessageList.vue
@@ -11,18 +11,15 @@ @@ -11,18 +11,15 @@
11 11
12 <!-- 已关注达人列表 --> 12 <!-- 已关注达人列表 -->
13 <div class="item_box"> 13 <div class="item_box">
14 - <ul 14 + <div
15 v-infinite-scroll="loadMore" 15 v-infinite-scroll="loadMore"
16 infinite-scroll-disabled="loading" 16 infinite-scroll-disabled="loading"
17 :infinite-scroll-distance="list.length"> 17 :infinite-scroll-distance="list.length">
18 - <li v-for="(item, index) in list" :key="index">  
19 -  
20 <!-- 达人列表组件 --> 18 <!-- 达人列表组件 -->
21 <dresserList @toDetail="toDetail" 19 <dresserList @toDetail="toDetail"
22 - :dresserList="item"> 20 + :dresserList="list">
23 </dresserList> 21 </dresserList>
24 - </li>  
25 - </ul> 22 + </div>
26 </div> 23 </div>
27 <!-- </van-pull-refresh> --> 24 <!-- </van-pull-refresh> -->
28 </div> 25 </div>
src/pages/recommendMore/recommendMore.vue
@@ -11,18 +11,16 @@ @@ -11,18 +11,16 @@
11 11
12 <!-- 已关注达人列表 --> 12 <!-- 已关注达人列表 -->
13 <div class="item_box"> 13 <div class="item_box">
14 - <ul  
15 - v-infinite-scroll="loadMore" 14 + <div
  15 + infinite-scroll-immediate-check="true"
  16 + v-infinite-scroll="recommendMore"
16 infinite-scroll-disabled="loading" 17 infinite-scroll-disabled="loading"
17 - :infinite-scroll-distance="list.length">  
18 - <li v-for="(item, index) in list" :key="index">  
19 - 18 + :infinite-scroll-distance="50">
20 <!-- 达人列表组件 --> 19 <!-- 达人列表组件 -->
21 <dresserList @toDetail="toDetail" 20 <dresserList @toDetail="toDetail"
22 - :dresserList="item"> 21 + :dresserList="list">
23 </dresserList> 22 </dresserList>
24 - </li>  
25 - </ul> 23 + </div>
26 </div> 24 </div>
27 <!-- </van-pull-refresh> --> 25 <!-- </van-pull-refresh> -->
28 </div> 26 </div>
@@ -39,7 +37,6 @@ @@ -39,7 +37,6 @@
39 data() { 37 data() {
40 return { 38 return {
41 title: "", 39 title: "",
42 - isLoading: false, // 下拉刷新控制  
43 backs: { // nav导航条数据 40 backs: { // nav导航条数据
44 title: "已关注达人", 41 title: "已关注达人",
45 funcs: { 42 funcs: {
@@ -48,8 +45,9 @@ @@ -48,8 +45,9 @@
48 } 45 }
49 } 46 }
50 }, 47 },
51 - list: [], // 达人列表  
52 - loading: false // 上拉加载控制 48 + list: null, // 达人列表
  49 + loading: false, // 上拉加载控制
  50 + pages:0, // 分页
53 } 51 }
54 }, 52 },
55 components: { 53 components: {
@@ -59,10 +57,10 @@ @@ -59,10 +57,10 @@
59 created() { 57 created() {
60 58
61 // 设置标题 59 // 设置标题
62 - this.$set(this, "title", "已关注达人");  
63 -  
64 - // 获取关注人列表  
65 - this.fansShopMessageList(); 60 + this.$set(this, "title", "推荐达人页");
  61 + document.title = "推荐达人页"
  62 + // 获取更多的推荐达人
  63 + this.recommendMore();
66 }, 64 },
67 methods: { 65 methods: {
68 66
@@ -79,18 +77,20 @@ @@ -79,18 +77,20 @@
79 /** 77 /**
80 * 已关注达人列表 78 * 已关注达人列表
81 */ 79 */
82 - fansShopMessageList () { 80 + recommendMore () {
83 81
84 // 校验登录 82 // 校验登录
85 if (this.$parent.checkLogin()) { 83 if (this.$parent.checkLogin()) {
86 - 84 + this.loading = true;
  85 + this.pages++
87 // 加载中提示 86 // 加载中提示
88 - Indicator.open('加载中...'); 87 + Indicator.open("加载中...");
89 88
90 // 请求接口 89 // 请求接口
91 - this.http("/Api/" + this.getApiVersion().dynamic + "/fansShopMessageList", {  
92 - uid: this.getStore("uid")  
93 - },this.fansShopMessageListCallback, { 90 + this.http("/Api/" + this.getApiVersion().dynamic + "/hotDarenList", {
  91 + uid: this.getStore("uid"),
  92 + page: this.pages
  93 + },this.recommendMoreCallback, {
94 method: "post" 94 method: "post"
95 }); 95 });
96 } 96 }
@@ -101,7 +101,7 @@ @@ -101,7 +101,7 @@
101 * @param {object} res [服务器返回数据] 101 * @param {object} res [服务器返回数据]
102 * @param {object} ext [扩展参数] 102 * @param {object} ext [扩展参数]
103 */ 103 */
104 - fansShopMessageListCallback(res, ext) { 104 + recommendMoreCallback(res, ext) {
105 105
106 // 加载完成 106 // 加载完成
107 Indicator.close(); 107 Indicator.close();
@@ -116,27 +116,15 @@ @@ -116,27 +116,15 @@
116 let {data: datas} = res; 116 let {data: datas} = res;
117 117
118 /*获取裂变数据*/ 118 /*获取裂变数据*/
119 -  
120 - // 设置标题  
121 - this.$set(this, "list", datas.list); 119 + if (datas.list && datas.list.length) {
  120 + // 隐藏加载圈
  121 + this.loading = false;
  122 + this.$set(this, "list", datas.list);
  123 + }
122 } 124 }
123 }, 125 },
124 126
125 /** 127 /**
126 - * 上拉加载  
127 - */  
128 - loadMore() {  
129 - // this.loading = true;  
130 - // setTimeout(() => {  
131 - // let last = this.list[this.list.length - 1];  
132 - // for (let i = 1; i <= 10; i++) {  
133 - // this.list.push(last + i);  
134 - // }  
135 - // this.loading = false;  
136 - // }, 2500);  
137 - },  
138 -  
139 - /**  
140 * 通用跳转 128 * 通用跳转
141 * @param {object} item [数据对象] 129 * @param {object} item [数据对象]
142 */ 130 */