Vuex的使用 实现添加购物车,购物车商品数量加减 以及 IScroll 和 lazyload的使用

知识点:

  • IScroll 实现拖动下滑效果
  • lazyload实现懒加载效果
  • Vuex 的使用
  • 加入购物车,购物车的数量加减
商品页面 goods/Index.vue组件

显示所有商品列表,用 IScroll 实现拖动下滑效果, 用 lazyload 实现懒加载效果

<template>
    <div class="box" @touchmove.prevent>
        <ul >
            <li> goods {
  {type}} </li>
            <li is="Item" v-for="item of arr" :key="item._id" :item="item"></li>
        </ul>
    </div>
</template>

<script>
import Item from "./Item.vue"
import { host } from "../../const"
import IScroll from 'iscroll'
import lazy from '../../directives/lazyload'

export default {
    data(){
        return {
            type : "没有分类",
            arr : []
        }
    },
    components:{
        Item
    },
    mounted(){
        // 通过$emit事件在子组件中自定义事件,通过操作子组件中的事件,向父组件传递参数;
        this.$eventbus.$emit("setTitle", "商品")
    
        this.type = this.$route.params.type;
        
        let url = host+"/goods?_type=_type&_word="+this.type+"&_limit=10&_page=1";
        this.$axios.get(url).then(res=>{
            this.arr = res.data.result;
        })

        var that = this;
        var boxH = document.querySelector(".box").offsetHeight;
        
        var myIScroll;
        setTimeout(function(){
            myIScroll = new IScroll(".box");
            myIScroll.on('scrollEnd', function () {
                if( this.y*-1 == document.querySelector(".box>ul").offsetHeight-document.querySelector(".box").offsetHeight ){
                    //console.log('到底啦')
                }else if( this.y == 0 ){
                    //console.log('到头啦')
                }else{
                    //console.log(this.y)
              
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值