1. 程式人生 > 實用技巧 >專案裡的換一批功能

專案裡的換一批功能

 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)//只要不夠需要顯示商品的數量就迴圈 } }, }