vue刷新和tab切换实例
(编辑:jimmy 日期: 2025/11/1 浏览:3 次 )
首先写个子组件用来放刷新的内容,命名为pull(可以看例子最后面放的。)
然后再要刷新的页面引用
<template>
<div class="fbjbox container">
<div class="fbjbox1">
<tab ref='tab' :list="['推荐','热门','最新']" width="33%" @change='tabchange' style="float:left"/>
<span class="price" width="33%" @tap="change" >价格<span class="mui-icon mui-icon-arrowright"></span></span> //点击价格会排序
</div>
<div class="fbjbox2">
<pull up="true" down="true" @up="next" @down="shuaxin" ref="pull">
<div class="mui-row mui-col-xs-12 mui-clearfix">
<span class="mui-col-xs-6" v-href="{name:'商品详情'}" rel="external nofollow" v-for="item in list">
<div class="img"><img v-bind:src="/UploadFiles/2021-04-02/item.goods_image">
下面是命名为pull的子组件。
<template>
<div class="mui-scroll-wrapper" ref="box" v-bind:style="{top:top+'px'}">
<div class="mui-pull-top-pocket mui-block" v-bind:class="{'mui-visibility':obj.y>0}" v-if="down">
<div class="mui-pull" v-show="flag">
<div class="mui-pull-loading mui-icon" v-bind:class="{'mui-spinner': type==2,'mui-icon-pulldown':type!=2}" v-bind:style="css1"></div>
<div class="mui-pull-caption" v-if="type==0">下拉可以刷新</div>
<div class="mui-pull-caption" v-if="type==1">释放立即刷新</div>
<div class="mui-pull-caption" v-if="type==2">正在刷新</div>
</div>
</div>
<div class="mui-scroll" @scrollstart.self="scrollstart" @scroll.self="scroll" @scrollbottom="scrollbottom">
<slot>
<div class="no-content">
<i></i>
<h4>暂无内容</h4>
</div>
</slot>
<div class="mui-pull-bottom-pocket mui-block mui-visibility" v-if="type==4">
<div class="mui-pull">
<div class="mui-icon mui-spinner mui-visibility" style="transition: -webkit-transform 0.3s ease-in; transform: rotate(180deg); animation: spinner-spin 1s step-end infinite;position: relative;top: 8px;"></div>
<div class="mui-pull-caption mui-visibility">正在加载...</div>
</div>
</div>
<!--<div v-if="nodata" class="nodata">已经没有更多数据</div>-->
<div v-if="nodata" class="yqxtsdkn"></div>
</div>
</div>
</template>
<style scoped>
.mui-scroll-wrapper { position:relative;height:100%;}
.nodata { color:#efefef;text-align:center;margin-top:10px;line-height: 30px; font-size: 12px; background:#0B2E4C}
</style>
<script>
export default {
mounted() {
var box = this.$refs.box;
this.obj = mui(box).scroll();
},
props: ["down", "up", "top"],
data() {
return {
flag: false,
Y: 0,
obj: {},
type: 0,
nodata: false
}
},
computed: {
css1() {
return {
transition: this.type > 0 "",
transform: this.type > 0 "",
animation: this.type == 2 "spinner-spin 1s step-end infinite" : ""
};
}
},
watch: {
type(a, b) {
if (b == 1) {
this.type = 2;
}
if (a == 2) {
this.flag = false;
this.obj.setTranslate(0, 50);
this.$emit("down", () => {
this.type = 0;
this.obj.setTranslate(0, 0);
this.obj.reLayout();
this.nodata = false;
});
}
}
},
methods: {
reset(){
this.obj.setTranslate(0, 0);
},
scrollstart() {
if (this.obj.lastY <= 0) {
this.flag = true;
} else {
this.Y = 0;
this.flag = false;
}
},
scroll() {
if (this.down && this.flag) {
this.type = this.obj.y > 50 "up", (n) => {
this.type = 0;
if (n == true) this.nodata = true;
this.obj.reLayout();
});
}
}
}
</script>
tab的一个例子
<template>
<div class="mypage">
<div class="fbjbox">
<div class="fbjbox1">
<tab ref="tab" :list="['一级合伙人'+count,'二级合伙人']" width="50%" @change="tabchange" />
</div>
<div class="fbjbox2">
<template v-if="list!=null&&tab==0">
<h4 >一级合伙人总数{{count}}人</h4>
<ul class="mui-table-view clear">
<li class="mui-table-view-cell mui-media" v-for="item in list">
<img class="mui-media-object mui-pull-left circle" v-bind:src="/UploadFiles/2021-04-02/item.head_url">
以上这篇vue刷新和tab切换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:详解如何在vue项目中引入elementUI组件
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。