vue tab滑动(非组件)

   <div class="shop">

        <!-- 手写tab -->

        <div class="shop-tab">

          <ul class="tab-tit">

            <li

              style="font-size:16px;font-weight:600;color:#333333"

              v-if="cur===0"

              @click="cur=0"

              :class="{active:cur==0}"

            >

              全部

              <i v-if="cur===0"></i>

            </li>

            <li style="padding-top:1px;" v-if="cur===1" @click="cur=0" :class="{active:cur==0}">全部</li>

            <li

              style="font-size:16px;font-weight:600;margin-left:8px;color:#333333"

              v-if="cur===1"

              @click="cur=1"

              :class="{active:cur==1}"

            >

              积分专区

              <i v-if="cur===1"></i>

            </li>

            <li style="margin-left:8px;" v-if="cur===0" @click="cur=1" :class="{active:cur==1}">积分专区</li>

          </ul>

        </div>

        <!-- ---------------------------------------- -->

        <div class="shop-tab-content">

          <div>

            <div class="shop-tab-content-item">

              <div

                class="shop-tab-content-item-whole div-right"

                v-for="(i,index) in goods"

                :key="i.goodsSn"

                :style="{'animation-delay': index *0.2+'s'}"

                @click="toDetail(i.id)"

              >

                <div class="shop-tab-content-item-whole-top">

                  <div class="img">

                    <img :src="i.picUrl" :οnerrοr="noPicture" alt />

                  </div>

                </div>

                <div class="shop-tab-content-item-whole-bottom">

                  <div class="shop-tab-content-item-whole-bottom-name">{{i.name}}</div>

                  <div class="shop-tab-content-item-whole-bottom-price">

                    <div>

                      <span>¥{{i.retailPrice}}</span>

                      <span

                        class="shop-tab-content-item-whole-bottom-price-original"

                      >¥{{i.counterPrice}}</span>

                    </div>

                    <span class="shop-tab-content-item-whole-bottom-price-but">抢购</span>

                  </div>

                </div>

              </div>

            </div>

          </div>

        </div>

      </div>

 

 

 data () {

    return {

      noPicture: 'this.src="' + require('../../assets/imgs/home/faild7.png') + '"',  //默认占位

      goods: [],  

      cur: 0

    }

  },

  mounted () {

    this.getBanners()

  },

  created () {

    this.getGoods()

  },

  watch: {

    cur (n, o) {

      if (n == 1) {

        this.getIntegralList()

      } else if (n == 0) {

        this.getGoods()

      }

    },

    deep: true

  },

 

  methods: {

    // 获取商品列表

    async getGoods () {

      const goods = await Apis.getGoodsList()

      this.goods = goods.data

    },

    //获取积分专区

    async getIntegralList () {

      let goods = await Apis.getIntegral()

      this.goods = goods.data

    },

}

Vue移动端tab组件是一种用于移动端应用开发中实现标签切换功能的组件。这种组件通常由一系列可点击的标签和对应的内容区域组成。 首先,Vue移动端tab组件需要根据数据渲染出标签和内容区域。可以通过v-for指令遍历数据,生成对应数量的标签和内容区域。每个标签都应该绑定点击事件,点击标签时触发相应的切换逻辑。 其次,需要为标签添加样式以及切换时的动画效果。可以利用CSS样式来设置标签的外观,例如字体颜色、背景色、边框等。为了实现切换时的动画效果,可以使用Vue的transition组件或者借助第三方库如v-animate.css来添加淡入淡出、滑动等效果。 另外,为了方便使用,Vue移动端tab组件通常还会提供一些可定制的属性或事件。例如,可以通过props属性向组件传递数据,让用户自定义标签的文本、样式等。也可以通过emit事件来传递标签切换时的回调函数,让用户可以在切换时执行一些自定义的逻辑。 最后,为了提高组件的可复用性和灵活性,Vue移动端tab组件还可以支持懒加载,即只有当某个标签被点击时才加载对应的内容区域。这可以通过v-if指令来实现,只有在需要显示内容区域时才渲染该区域的内容。 综上所述,Vue移动端tab组件是一种帮助开发者实现移动端应用标签切换功能的组件,它的实现需要注意数据渲染、样式设置、动画效果、可定制属性和事件以及懒加载等方面的设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值