vue 如何监听数组对象中的选中属性

<!-- 添加双向绑定属性用于监听输入,再通过@input实时输入,将该属性所在下标传到该函数里 -->
<input v-model="spec.price" @input="specPrice(sIndex)" id="spec-price" class="ns-input" type="text" placeholder="请输入价格">
// 监听规格价格
specPrice(index){
    // 通过下标进行全局监听,实时更新
	this.$watch((data) => data.specs[index].price,(newVal) => {
        // 正则判断允许正整数后两位小数点
	    this.specs[index].price = manage.regular(newVal,0).val;
	})
},

遇到需要初始化数组导致全局监听报错怎么办

// 监听规格价格
specPrice(index){
    this.$watch((data) => {
	    try{
		    // 正确就正常返回
		    return data.specs[index].price;
	    }catch(e){
		    // 报错直接返回false
		    return false;
	    }
    },(newVal) => {
		// 对返回的数据进行判断,有则赋值,没有则什么也不做
		if(newVal){
            // 正则判断允许正整数后两位小数点
			this.specs[index].price = manage.regular(newVal,0).val;
		}
	})
},

其实最好是直接销毁全局监听,不过我没找到方法,如果谁找到望告知,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值