项目里的换一批功能

 export default{
        data(){
            return{
                index:[1,2,3]//首先声明一个数组,数据的长度就是代表需要显示几件商品(这里是3件)
            }
        },
        computed:{
            someGoods(){//页面一进来通过拿到的总数据,来取出3件商品做初始渲染(还没点换一批)
                let arr=[]//声明一个新的空数组
                // console.log(this.$store.state.goodsList)
                if(this.$store.state.goodsList.length>0){
                    for(let i=0;i<3;i++){//循环3次
                        arr.push(this.$store.state.goodsList[this.index[i]])
                        //在总数据里拿出3件要渲染的商品,放进新的数组里,做初始渲染
                    }
                    // arr.push(this.$store.state.goodsList[this.index[0]])
                    // arr.push(this.$store.state.goodsList[this.index[1]])
                    // arr.push(this.$store.state.goodsList[this.index[2]])
                }
                return arr
                
            }
        },
        methods:{
            add(id){
                this.$store.commit('addShop',id)
                console.log(id)
            },
            change(){//点击了换一批
            this.index=[]//把index数组设为空数组
            do{//使用do{}while 或while循环(循环次数不明确,有时可能会重复)
                let num=Math.floor(Math.random()*((this.$store.state.goodsList.length-1)-0+1)+0)
                //生成从0至总数据长度的随机数
                if(this.index.indexOf(num)<0){//看看新的index的数组是否有这个商品
                    this.index.push(num)//没有就放进index数组,有的话就不放(去重)
                }
            }while(this.index.length<3)//只要不够需要显示商品的数量就循环
        }
        },
        
    }

 

posted @ 2020-12-13 15:41  帅了又帅的大猛  阅读(210)  评论(0编辑  收藏  举报