vue 修改值后dom不及时更新

谁让我们没有钱
  • 1
新手上路,请多包涵

在watch 修改监听的值,修改后dom 没有更新
这个值传入 子组件,子组件也监听不到这次改变
image.png

回复
阅读 822
8 个回答

监听后赋值,会导致死循环吧》。

我没这么写过,你这么写,最后一行赋值,不会再次触发watch吗?

为什么不在传参的时候在对这个数据进行处理

重置下formData 加一句,this.formData = {...this.formData}

监听input的事件

<el-input :value="formData.phone" @input="handlePhoneChange"  />
export default{
    methods:{
      handlePhoneChange(value){
          this.formData.phone = value.replace().substring()
      }
    }
}

this.formData.phone 建议用$set来设置他的值就可以

蜗牛
  • 5
新手上路,请多包涵

应该是formData的声明方式导致的,vue2是监听不到对象中新增属性的变化的,如果要监听属性的变化,需要再data中直接声明清楚,比如

data(){
    return{
        formData:{
            phone:''
            }
    }

如果没有这样声明,想让vue监听到变化,也可以直接改变对象的引用,比如this.formData = {...newData},或者使用$set赋值

好家伙,你watch这个属性,还要在watch 里改这个属性,这个合理吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏