《vuejs實戰》這本書中5.5是一道實戰題:利用計算屬性、指令等知識開發購物車。
練習1:在當前示例基礎上擴充套件商品列表,新增一項是否選中該商品的功能,總價變為只計算選中商品的總價,同時提供乙個全選的按鈕。
練習2:將商品列表list改為乙個二維陣列來實現商品的分類,比如可分為「電子產品」 「生活用品」 和「果蔬」,同類商品聚合在一起。提示,你可能會用到兩次v-for。
1、購物車
編號商品名稱
商品單價
購買數量
操作 }}}-}
+移除
總價:¥}
購物車為空
data: ,,],
checkboxmodel: ,
checked: false
},computed:
}return total.tofixed(2);}},
methods: ,
handleadd: function (index) ,
handleremove: function (index) ,
//全選的實現通過checkboxmodel的狀態
checkedall: function () else );
_this.checked = true;}},
//單選的實現依靠的是checked通過click的切換實現
onlychecked: function (index) else
},// 從遍歷單個,若全部選中則全選按鈕選中
checkpick: function ()
}if (checkedsum == me.list.length) else
},//計算**
checkmodel: function ()
} else
}// 利用checkboxmodel的繫結的狀態來分別給每個物品確認checked的狀態,避免與onlychecked的衝突}}
});
2、二維陣列
型別商品名稱
編號商品單價
購買數量
操作 }}
}}- }+移除
總價:¥}
購物車為空
data: , , ],
[, , ],
[, , ]
],checkboxmodel: ,
checked: false
},computed: }}
return total.tostring().replace(/\b(?=(\d)+$)/g, ',');}},
methods: ,
handleadd: function (index, inindex) ,
handleremove: function (index, inindex) ,
allpick: function () else );
}_this.checked = true;}},
pickone: function (index, inindex) else
},checkpick: function ()
}alength += _this.list[i].length
}if (sumpic == alength) else
},num: function (index) }},
checkmodel: function () }}
} else }}
}},
created()
});
vue中實現商品購物車全選反選
專案需求 實現乙個購物車 全選框實現對商家和商品的全選 商家全選框實現對當前商家所有商品的全選 取消其中乙個商品則取消對應商家全選和全選框 選中乙個商家下的所有商品則勾選對應商家的全選框,不勾選全選框 選中所有商品則勾選所有商家全選框和全選框 我的思路 1 通過對資料的簡單操作可實現更深層次的全選操...
Vue之購物車計算總價
購物車 panel body checkbox checkbox v model checkall 全選 list group list group item v for item in list key item.id checkbox checkbox v model item.checked ...
AngularJS 購物車全選 取消全選功能實現
剛學習angularjs,於是練習寫了乙個類似於購物車的全選 取消全選的功能,主要實現的功能有 1 勾選全選checkbox,列表資料全部被勾選,取消同理,用ng model實現雙向繫結 3 全部勾選後,只要取消乙個全選的check狀態就為false 4 實現購物車的小計和總金額計算,僅計算被勾選的...