最近碰到一个由于要根据权限来给一个按钮变成不一样功能,html
简单写出3个按钮而后用v-if也能实现这个功能,可是在加载页面时,若是延迟太高则会把按钮按照DOM顺序加载出来,这是个很很差的效果app
思索了下,把三个功能分开写,目前但说能达到需求,但我的感受还不是最好解决办法,在此记录下来以待未来发现更好办法ui
<div class="btn60"> <span v-on:click="reserveMainLink()" :class="{'weui_btn':items.msg!=3,'weui_btn_primary':items.msg==1,'weui_btn_warn':items.msg==2}" > <span v-show="items.msg==1">当即预定</span> <span v-show="items.msg==2">已预定</span> <span v-show="items.msg==3">已过时</span> </span> </div>
ticketdata = {"travelId":"46523","travelName":"扬州88风景区","area":"12","imgUrl":"http://***/img/jq/Upload/Content/Thumb/16/09/22/45731474528552.gif","travelArea":"扬州市区东北郊88镇88路1号。","areaName":"江苏","price":"45","lotteryCode":null,"payCode":null,"expireTime":null,"endexpireTime":null,"reservetime":null,"username":null,"type":null,"otherOrderId":null,"addtime":null,"notice":null,"enterpark":null,"areaId":null,"useTime":null,"imageUrl":null,"useInfo":null,"endreserveTime":null,"phone":null,"cardId":null,"worker":null,"msg":"1"}; App.items= ticketdata; var App = new Vue({ el:"#app", data:{ items:[] }, methods:{ reserveMainLink:function(){ if( this.items.msg == 1 ){ //提交预定 var payCode = $("#payCode").val(); window.location.href="order?payCode"+payCode; }else if( this.items.msg == 2 ){ //已预定门票详情 window.location.href="orderDetails.html"; } } } })