文章详情页
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. mysql - 数据库建字段,默认值空和empty string有什么区别 1102. 问一下代码哪里出错了????3. mybatis - Java关于Mysql的随机id生成4. Mac下phpinfo和php -m里的扩展不一致怎么解决?5. 求问:其它输出都正常,就是错误输出是乱码!6. python - UTC格式转换成本地时间7. python - 如何使用requests模块在一个post中提交含有多个相同名称的数据?8. windows - Mysql数据库部署 能否不安装服务?9. 冒昧问一下,我这php代码哪里出错了???10. angular.js - 在ionic下,利用javascript导入百度地图,pc端可以显示,移动端无法显示
排行榜