이 글은 주로 타오바오 주문 상태를 모방한 Vue의 탭 전환 효과를 자세히 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
저는 며칠 전부터 프로젝트에 Vue를 사용하기 시작했는데, 타오바오 주문 상태에 대한 탭 전환을 흉내내며 프로젝트에서 탭 전환을 위한 작은 돔을 더듬거리며 썼습니다.
HTML 코드:
<p class="navigation"> //这里是通过循环遍历出来的数据,你需要根据index的值来判断你现在点击的是第几个tab栏导航,同时在js中写一个navChange的方法来把index 传递到就js中来改变tabIndex(这是在初始化时设置的默认index)的值 <span v-for="(item, index) in navItems" v-touch:tap=" { event: navChange, params: [index] }"> <em> {{item.text}} </em> </span> </p> //上面的v-touch:tap 是我们自己封装的点击事件指令,跟v-click用法差不多 <p class="content"> <p class="main"> //p item中是需要切换的订单数据,for循环遍历的是各种订单状态的集合orderAllItem,然后通过选择的tab值对应的index来判断调用orderAllItem中的第几个数组进行循环遍历 <p class="item" v-for="item in orderAllItem[tabIndex]"> <p class="title"> <span class="id">订单号:{{item.orderId}}</span> <span class="status" >{{item.statusName}}</span> </p> <p class="toys" v-touch:tap="{ event: goToDetail, params: [item.orderId]}"> <p class="toy" v-for="toy in item.toys"> <img class="toyImg" :src="toy.image"/> <p class="area"> <em class="name">{{toy.toyName}}</em> <span class="age">适合年龄:{{toy.ageRange}}</span </p> </p> </p> </p> </p> </p>
JS 코드
var _default = (function(){ var navs = [ { 'text': '全部订单', }, { 'text': '待付款', }, { 'text': '待收货', }, { 'text': '待归还', }, { 'text': '已完成', } ]; var orders= [ //因为没有合适的数据来源,所以假装这里就是从后端请求的所有的订单集合,在下边data中你需要吧你分类的订单根据状态进行分类。 ]; return { name: 'index', mounted: function(){ }, destoryed: function(){ }, data: function(){ //待付款 var paymentsItem = []; //待收货 var receiptsItem = []; //待归还 var returnsItem = []; //已完成 var completesItem = []; //把所有不同状态的订单通过if判断push到相对应的订单状态集合中。 orders.forEach(function(order){ if(order.status == 0){ paymentsItem.push(order); }; if(order.status == 3){ receiptsItem.push(order); }; if(order.status == 5){ returnsItem.push(order); }; if(order.status == 13){ completesItem.push(order); } }); //设置一个空数组,把所有状态下的订单集合放到空数组中,从0-5的顺序按照你的自己设置的tab切换的内容0-5的顺序对应排列, var orderAll = [ orders, paymentsItem, receiptsItem, returnsItem, completesItem]; console.log(orderAll); return { navItems : navs, //全部订单分类的集合 orderAllItem : orderAll, //设置 tabIndex : 0, }; }, methods: { navChange: function (e, index){ this.tabIndex = index; // console.log(this.tabIndex) } } } })(); export default _default;
관련 권장 사항:
vue.js 모방 Taobao 체크아웃 페이지 예시 공유 구현
JavaScript imi tation Taobao 구현 거울 효과의 예
Javascript 소형 사례: Taobao 검색창 사용자 입력 모방
위 내용은 Taobao 주문 상태의 탭 전환 효과를 모방한 Vue의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!