IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue实现购物车 -> 正文阅读

[JavaScript知识库]vue实现购物车

<template>
?? ?<div>
?? ??? ?<table>
?? ??? ??? ?<tr>
?? ??? ??? ??? ?<td><input type="checkbox" :checked="ALLchecked" @click="allChecked"></td>
?? ??? ??? ??? ?<td>书名</td>
?? ??? ??? ??? ?<td>价格</td>
?? ??? ??? ??? ?<td>数量</td>
?? ??? ??? ?</tr>
?? ??? ??? ?<tr style="height: 60px;" v-for="(item,index) in list" :key="index">
?? ??? ??? ??? ?<td><input type="checkbox" :checked="item.checked" @click="alone(index)"></td>
?? ??? ??? ??? ?<td style="width: 60px;">{{item.bookName}}</td>
?? ??? ??? ??? ?<td style="width: 60px;">{{item.price}}</td>
?? ??? ??? ??? ?<td style="width: 100px;"><button @click="item.count--">-</button>{{item.count}}<button @click="item.count++">+</button></td>
?? ??? ??? ??? ?<td style="width: 60px;">删除</td>
?? ??? ??? ?</tr>
?? ??? ?</table>
?? ??? ?<div>合计:{{totalPrice}}</div>
?? ?</div>
</template>

<script>
?? ?import {
?? ??? ?mapState
?? ?} from 'vuex';
?? ?export default {
?? ??? ?name: 'shopcart',
?? ??? ?data() {
?? ??? ??? ?return {
?? ??? ??? ??? ?ALLchecked: false,
?? ??? ??? ??? ?select: [],
?? ??? ??? ??? ?list: [{
?? ??? ??? ??? ??? ??? ?id: 1,
?? ??? ??? ??? ??? ??? ?bookName: '红楼梦',
?? ??? ??? ??? ??? ??? ?price: '20.00',
?? ??? ??? ??? ??? ??? ?count: 1
?? ??? ??? ??? ??? ?},
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?id: 2,
?? ??? ??? ??? ??? ??? ?bookName: '水浒传',
?? ??? ??? ??? ??? ??? ?price: '20.00',
?? ??? ??? ??? ??? ??? ?count: 1
?? ??? ??? ??? ??? ?},
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?id: 3,
?? ??? ??? ??? ??? ??? ?bookName: '三国演义',
?? ??? ??? ??? ??? ??? ?price: '20.00',
?? ??? ??? ??? ??? ??? ?count: 1
?? ??? ??? ??? ??? ?},
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?id: 4,
?? ??? ??? ??? ??? ??? ?bookName: '西游记',
?? ??? ??? ??? ??? ??? ?price: '20.00',
?? ??? ??? ??? ??? ??? ?count: 1
?? ??? ??? ??? ??? ?},
?? ??? ??? ??? ?],
?? ??? ??? ?}
?? ??? ?},
?? ??? ?created() {
?? ??? ??? ?this.list.map(v => {
?? ??? ??? ??? ?v['checked'] = false
?? ??? ??? ?})
?? ??? ?},
?? ??? ?computed: {
?? ??? ??? ?totalPrice() {
?? ??? ??? ??? ?let total = 0;
?? ??? ??? ??? ?this.list.map((element)=> {
?? ??? ??? ??? ??? ?if (element.checked == true) {
?? ??? ??? ??? ??? ??? ?total += element.price * element.count;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?});
?? ??? ??? ??? ?return total
?? ??? ??? ?},
?? ??? ??? ?...mapState({
?? ??? ??? ??? ?count: state => state.count
?? ??? ??? ?}),
?? ??? ??? ?
?? ??? ?},
?? ??? ?methods: {
?? ??? ??? ?allChecked() {
?? ??? ??? ??? ?this.ALLchecked = !this.ALLchecked;
?? ??? ??? ??? ?this.list.forEach(element => {
?? ??? ??? ??? ??? ?element.checked = this.ALLchecked
?? ??? ??? ??? ?});
?? ??? ??? ??? ?let list = this.list
?? ??? ??? ??? ?this.list = JSON.parse(JSON.stringify(list))
?? ??? ??? ?},
?? ??? ??? ?//单选
?? ??? ??? ?alone(index) {
?? ??? ??? ??? ?console.log(this.list)
?? ??? ??? ??? ?let list = this.list
?? ??? ??? ??? ?list[index].checked = !list[index].checked;
?? ??? ??? ??? ?this.list = JSON.parse(JSON.stringify(list))
?? ??? ??? ??? ?for(var i=0;i<this.list.length;i++){
?? ??? ??? ??? ??? ?var qw= this.list[i];
?? ??? ??? ??? ??? ?if(qw.checked==false){
?? ??? ??? ??? ??? ??? ?this.ALLchecked=false
?? ??? ??? ??? ??? ??? ?return
?? ??? ??? ??? ??? ?}else{
?? ??? ??? ??? ??? ??? ?this.ALLchecked=true
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?},
?? ??? ??? ?
?? ??? ?}
?? ?}
</script>

<style scoped>
?? ?table>tr>td {
?? ??? ?margin: 20px;
?? ?}
</style>
?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:45:33  更:2022-07-04 22:48:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/11 11:16:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码