Vue 监听多层数组中数据变化

本文介绍如何使用Vue.js中的computed属性和watch来监听复杂数据结构的变化,特别是对于嵌套数组中的特定值进行实时更新处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

computed与watch配合监听多层数组下的数据变化 

var real_vm = new Vue({
	el:"#real_info",
	data:{
		items:[{
			type:0,
			title:'火灾报警系统',
			alarmData:210,
			modules:[{
	            color:"red",
	            icon:"<i class='layui-icon layui-icon-fire'></i>",
	            style:'solid',
	            bcolor:'white',
	            children:[{
		                name:"火警未处理",
		                value:0
	            },{
		                name:"今日处理",
		                value:5
	            }]
            },{
	            color:"blue",
	            icon:"<i class='layui-icon layui-icon-set-fill'></i>",
	            style:'solid',
	            bcolor:'white',
	            children:[{
		            name:"故障未处理",
		            value:20
	            },{
		            name:"今日处理",
		            value:12
	            }]
            }]
		}]
	},
	watch: {
		  fireValue: {
		    handler:function(newValue, oldValue) {
					var c = ["red","white"];
					var t = this.items[0].modules[0];
					if(newValue > 0){
						if(comm.isEmpty(task)){
							task = refreshCount(t,c);
						}
					}else{
						window.clearInterval(task);
						task = "";
						t.bcolor = c[1];
					}
		    }
		  },
		   faultValue:{
			   handler:function(newValue, oldValue) {
				    var c = ["blue","white"];
				    var t = this.items[0].modules[1];
					if(newValue > 0){
						if(comm.isEmpty(task1)){
							task1 = refreshCount(t,c);
						}
					}else{
						window.clearInterval(task1);
						task1 = "";
						t.bcolor = c[1];
					}
		    }
		  }
	},
	computed: {
		fireValue:function(){//火警未处理
			return this.items[0].modules[0].children[0].value;
		},
		faultValue:function(){//火警未处理
			return this.items[0].modules[1].children[0].value;
		}
	}
})

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值