文章详情页
javascript - vue监听data中的某一数组的某一项
问题描述
如图我要监听items.amount,除了for循环的写法,还有什么更简单的写法吗?
问题解答
回答1:computed: { totalAmount () { // 计算出 items 数组中的 amount 总额 return this.items.reduce((a, b) => ({ amount: a.amount + b.amount })).amount }},watch: { totalAmount (newVal) { // 当计算属性变更时触发更新 console.log(’amount change to ’, newVal) }}回答2:
个人觉得,你的总额的money应该改成一个计算属性
computed: { money() { let sum = 0; this.items.forEach(item => { sum += item.amount; }); return sum; }}
然后将money属性从data中删除,同时删除你的watch
标签:
JavaScript
相关文章:
1. dockerfile - [docker build image失败- npm install]2. angular.js - angular内容过长展开收起效果3. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题4. angular.js使用$resource服务把数据存入mongodb的问题。5. 新手学习vue和node.js的困惑6. docker不显示端口映射呢?7. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?8. docker - 如何修改运行中容器的配置9. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!10. 想学下微信支付视频教程,能否付费获得?
排行榜