<template> <div> <div class="mui_card"> <div class="flex" v-for="(item, index) in lists" :key="index"> <div class="left"> <div class="checkbox"><input type="checkbox" v-model="item.selected" /></div> <img :src="item.src" alt=""> </div> <div class="right"> <div> <div class="top"> <h1>{{ item.title }}</h1> </div> <div class="bottom"><span class="jiage" style="color: red;">¥{{ item.price }}</span><button @click="remove(index)">-</button><span class="shuliang">{{ item.plenty }}</span><button @click="add(index)">+</button><a href="#">删除</a></div> </div> </div> </div> </div> <div class="left_pin"> <div> <div class="left_jia"> <div class="iiii"> 总计不含运费 <br> </div> 已勾选商品<span class="i"> {{ count }} </span>件,总价<span class="i">¥4496元</span> </div> <div class="right_jie"> <button>去结算</button> </div> </div> </div> </div> </template> <script> export default { data() { return { count: 1, lists: [ { selected: true, plenty: 1, title: "小米(Mi)小米Note 16G双网通版", price: 2199, src: require("../assets/image/a15.jpg") } , { selected: false, plenty: 0, title: "小米(Mi)小米Note 16G双网通版", price: 2199, src: require("../assets/image/a15.jpg") }]} }, methods: { remove(index) { if (this.lists[index].plenty > 0) { this.lists[index].plentythis.lists[index].plenty - 1}}, add(index) { if (!this.lists[index].plenty >= 0) { this.lists[index].plenty = this.lists[index].plenty + 1 } } } }; </script>
时间: 2024-03-04 19:52:14 浏览: 119
这是一个使用Vue.js编写的购物车页面的代码,包括商品列表、商品选择、商品数量增减、总价计算等功能。其中,商品信息是通过data()函数中的lists数组来存储,商品选择状态和数量是通过v-model绑定的数据来控制的,增减商品数量的方法是通过methods对象中的add()和remove()函数实现的。总价的计算和显示是通过模板字符串和计算属性来实现的,结算按钮暂时没有实现功能。
相关问题
<template> <nav class="mui-bar mui-bar-tab"> <router-link class="mui-tab-item-lib" :to="{name:'home'}"> <span class="mui-icon mui-icon-home"></span> <span class="mui-tab-label">首页</span> </router-link> <router-link class="mui-tab-item-lib" :to="{name:'category'}"> <span class="mui-icon mui-icon-personadd"></span> <span class="mui-tab-label">分类</span> </router-link> <router-link class="mui-tab-item-lib" :to="{name:'shopcart'}"> <span class="mui-icon mui-icon-extra mui-icon-extra-cart"> <span class="mui-badge">2</span> </span> <span class="mui-tab-label">购物车</span> </router-link> <router-link class="mui-tab-item-lib" :to="{name:'user'}"> <span class="mui-icon mui-icon-gear"></span> <span class="mui-tab-label">我的</span> </router-link> </nav> </template>
这是一个 Vue.js 的组件模板,它定义了一个基于路由的导航栏,包含四个链接,分别是首页、分类、购物车和我的。这个导航栏使用了 MUI 框架的样式,并且在购物车链接中展示了一个徽章,表示当前购物车中有 2 件商品。每个链接使用了 Vue Router 的<router-link>组件,并通过v-bind指令动态绑定了链接的目标路由地址。
<template> <nav class="mui-bar mui-bar-tab"> <router-link class="mui-tab-item-lib" :to="{name: 'home'}"> <span class="mui-icon mui-icon-home"></span> <span class="mui-tab-label">首页</span> </router-link> <router-link class="mui-tab-item-lib" :to="{name: 'category'}"> <span class="mui-icon mui-icon-personadd"></span> <span class="mui-tab-label">分类</span> </router-link> <router-link class="mui-tab-item-lib" :to="{name: 'shopcart'}"> <span class="mui-icon mui-icon-extra mui-icon-extra-cart"> <span class="mui-badge">2</span> </span> <span class="mui-tab-label">购物车</span> </router-link> <router-link class="mui-tab-item-lib" :to="{name: 'user'}"> <span class="mui-icon mui-icon-gear"></span> <span class="mui-tab-label">我的</span> </router-link> </nav> </template>报错:D:\Vue\cli\vue_shop\src\components\tabbar.vue 1:1 error Component name "tabbar" should always be multi-word vue/multi-word-component-names
这个错误是Lint提示的,它认为你的组件名 "tabbar" 只有一个单词,不符合Vue的组件命名规范,建议你将组件名改成 "TabBar" 或者 "TabBarView" 等多个单词组成的名称,以解决这个错误。如果你不想修改组件名,可以在ESLint配置文件中添加 "vue/multi-word-component-names": "off" 以禁用这个规则。
阅读全文