vue购物车实例
测试代码1
<template>
<div id="my">
全选<input type="checkbox" v-model="checkAll" @change="change"> <br>
<input type="checkbox" v-for="item in list" v-model="item.checks" @change="changeOne">
<input type="text" v-model="item.price" v-for="item in list">
<input type="number" v-model="list[0].num">
总价{{sum()}}
</div>
</template>
<script>
import { XHeader, Grid, GridItem, GroupTitle } from 'vux'
export default {
name: 'message',
components: {
XHeader,
Grid,
GridItem,
GroupTitle
},
methods:{
sum(){ // 应该写在计算属性里
return this.list.reduce((prev,next)=>{
if(!next.checks) return prev; // 如果当前没有选中,就不加这一项
return prev + next.price*next.num
},0)
},
changeOne(){ // 需要放到初始化数据请求成功后,
// every 找到返回ture,找不到返回false,
this.checkAll = this.list.every(item=>item.checks)
},
change(){
this.list.forEach(item=>item.checks = this.checkAll)
},
remove(p){
this.list = this.list.filter(xx=>xx!==p)
}
},
data() {
return {
checkAll:false,
msg: 'my页面',
list:[
{checks:false,price:30,num:2},
{checks:false,price:20,num:2},
{checks:false,price:20,num:3},
{checks:false,price:10,num:11},
]
}
}
}
</script>
测试代码2 计算属性的使用
<template>
<div id="">
全选<input type="checkbox" v-model="checkAll" > <br>
<input type="checkbox" v-for="item in list" v-model="item.checks" >
<input type="text" v-model="item.price" v-for="item in list">
<!--<input type="number" v-model="list[0].num">-->
总价{{sum}}
</div>
</template>
<script>
export default {
name: 'message',
components: {},
data() {
return {
msg: 'my页面',
list:[
{checks:false,price:30,num:2},
{checks:false,price:20,num:2},
{checks:false,price:20,num:3},
{checks:false,price:10,num:11},
]
}
},
methods:{
remove(p){
this.list = this.list.filter(xx=>xx!==p)
}
},
computed:{
checkAll:{
get(){
return this.list.every(p=>p.checks)
},
set(val){
this.list.forEach(p=>p.checks = val);
}
},
sum() {
return this.list.reduce((prev,next)=>{
if(!next.checks) return prev; // 如果当前没有选中,就不加这一项
return prev + next.price*next.num
},0)
},
},
}
</script>
<style>
</style>
配图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通