You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.1 KiB
70 lines
2.1 KiB
5 years ago
|
<template>
|
||
|
<div class="recommend" ref="container">
|
||
|
<div class="title acea-row row-center-wrapper">
|
||
|
<span class="iconfont icon-zhuangshixian"></span>
|
||
|
<span class="name">为你推荐</span>
|
||
|
<span class="iconfont icon-zhuangshixian lefticon"></span>
|
||
|
</div>
|
||
|
<div class="recommendList acea-row row-between-wrapper">
|
||
|
<div
|
||
|
@click="$yrouter.push({ path: '/pages/shop/GoodsCon/index',query:{id:item.id} })"
|
||
|
class="item"
|
||
|
v-for="(item, recommendIndex) in hostProduct"
|
||
|
:key="recommendIndex"
|
||
|
>
|
||
|
<div class="pictrue">
|
||
|
<img :src="item.image" class="image" />
|
||
|
</div>
|
||
|
<div class="name line1">{{ item.storeName }}</div>
|
||
|
<div class="money font-color-red">
|
||
|
¥
|
||
|
<span class="num">{{ item.price }}</span>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<Loading :loaded="loadend" :loading="loading"></Loading>
|
||
|
</div>
|
||
|
</template>
|
||
|
<script>
|
||
|
import { getHostProducts } from "@/api/store";
|
||
|
import Loading from "@/components/Loading";
|
||
|
export default {
|
||
|
name: "Recommend",
|
||
|
props: {},
|
||
|
components: {
|
||
|
Loading
|
||
|
},
|
||
|
data: function() {
|
||
|
return {
|
||
|
hostProduct: [],
|
||
|
page: 1,
|
||
|
limit: 20,
|
||
|
loadTitle: "",
|
||
|
loading: false,
|
||
|
loadend: false
|
||
|
};
|
||
|
},
|
||
|
mounted: function() {
|
||
|
this.hostProducts();
|
||
|
},
|
||
|
methods: {
|
||
|
hostProducts: function() {
|
||
|
let that = this;
|
||
|
if (that.loading) return; //阻止下次请求(false可以进行请求);
|
||
|
if (that.loadend) return; //阻止结束当前请求(false可以进行请求);
|
||
|
that.loading = true;
|
||
|
getHostProducts(that.page, that.limit).then(res => {
|
||
|
that.loading = false;
|
||
|
//apply();js将一个数组插入另一个数组;
|
||
|
that.hostProduct.push.apply(that.hostProduct, res.data);
|
||
|
that.loadend = res.data.length < that.limit; //判断所有数据是否加载完成;
|
||
|
that.page = that.page + 1;
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
onReachBottom() {
|
||
|
!this.loading && this.hostProducts();
|
||
|
}
|
||
|
};
|
||
|
</script>
|