Vue制作简易购物车

简介: 一个简单Vue指令(v-bind)学习demo,实现简单的购物车逻辑,

功能描述

  • 修改商品数量,同时价格动,总价态变化。
  • 点击删除按钮可以动态删除商品

image.png完整代码如下

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><scriptsrc="vue3.0.js"></script>  //引入vue.js包
<style>body {
width: 600px;
      }
table {
border: 1pxsolidblack;
      }
table {
width: 100%;
      }
th {
height: 50px;
      }
th, td {
border-bottom: 1pxsolid#ddd;
text-align: center;
      }
span {
float: right;
      }
      [v-cloak] {
display: none;
      }
</style></head><body><divid="app"><table><tr><th>商品号</th><th>商品</th><th>单价</th><th>数量</th><th>金额</th><th>操作</th></tr><trv-for='(book,index) in books':key="book.id"><td>{{book.id}}</td><td>{{book.title}}</td><td>{{book.price}}</td><td><button:disabled="book.count===0"@click="book.count--">-</button>                    {{book.count}}
<button@click="book.count++">+</button></td><td>{{itemprice(book.price,book.count)}}</td><td><button@click="deleteitem(index)">删除</button></td></tr></table><p>总价:¥{{totalprice}}</p></div><script>//vue3.0语法constvm=Vue.createApp({
data(){
return{
books:[{
id: 1,
title: 'Java无难事',
price: 188,
count: 1                          },
                          {
id: 2,
title: 'C++深入详解',
price: 168,
count: 1                          },
                          {
id: 3,
title: 'Servlet/JSP深入详解',
price: 139,
count: 1                          }]
                    }
                },
methods:{
itemprice(price,count){
returnprice*count;
                    },
deleteitem(index){
this.books.splice(index,1);
                    }
                },
computed:{
totalprice(){
lettotal=0;
for(letbookofthis.books)
                        {
total+=book.price*book.count;
                        }
returntotal;
                    }
                }
            }).mount("#app");
</script></body></html>

要点注意 ❗

image.png

这里注意要用for...of循环

区别for...in和for...of的用法

for-in遍历的是key,只能获得对象的键名,不能获得键值(适合遍历对象)

for-of遍历的是value,允许遍历获得键值(适合遍历数组)

具体效果

https://ucc.alicdn.com/images/user-upload-01/5e94d5a4c4fe4cb688114c56d04576fd.gif

目录
相关文章
|
30天前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
133 1
|
9天前
|
JavaScript 安全 API
iframe嵌入页面实现免登录思路(以vue为例)
通过上述步骤,可以在Vue.js项目中通过 `iframe`实现不同应用间的免登录功能。利用Token传递和消息传递机制,可以确保安全、高效地在主应用和子应用间共享登录状态。这种方法在实际项目中具有广泛的应用前景,能够显著提升用户体验。
36 8
|
10天前
|
存储 设计模式 JavaScript
Vue 组件化开发:构建高质量应用的核心
本文深入探讨了 Vue.js 组件化开发的核心概念与最佳实践。
52 1
|
2月前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
106 58
|
1月前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
2月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
67 18
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
2月前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
49 1