Vue 数组没深度监听,导致数据变化了,视图不变化的解决方案

前言

  • 在我们项目中 或多或少 会有些 数组 嵌套 对象 ,然后 对象 内嵌套 数组,从而在Vue项目中,针对数组达不到多层次的监听,让我们的视图做不到随意变化
  • 而在网上搜罗了下解决方案:
    • 使用 :this.$set(this.data, 'attrName', 'value')
      - this.$set( 要绑字的数据,添加或修改的属性名称,要赋的值 )
    • 在我们变化值后,执行:this.$forceUpdate() 重新渲染视图层

解决方案

  • 在拿到值后,改变 Vue 能监听到的变量,从而达到 值变化 视图变化
  • 执行逻辑:
    - 拿到
    - 把 付给数据源的 属性
    - 在视图上就会有变化了,每当拿到值就给数据源属性赋值
我的执行代码
@click.native.prevent="() => {
    
    
	data[i][ifd].va = radio.id || radio.dicItemCode;
	ift.cf(radio.id || radio.dicItemCode);
}"
	// data[i][ifd].va 数据源属性
	// click 操作dom的事件类型
	// ift.cf 自定义的回调

猜你喜欢

转载自blog.csdn.net/qq_39453402/article/details/107655616