vue初始化了form表单数据但是页面首次加载不渲染

18 篇文章 0 订阅

在vue里出现明明从后端初始化了表单数据,但是页面首次加载不渲染,原因可能是初始化form的时候这样:

data() {
      return {
           this.form={}
    }
}

或许你需要这样:

data() {
      return {
           this.form={id:"",type:"" ......}
    }
}

那么,这是为什么呢?知其然,还要知其所以然。我们要从vue的深入响应式原理分析,官网解释:

 想必看到这就明白啦,这是因为首次加载的时候vue初始化setter和getter的时候只有一个空的form,所以当你设置this.form.name="zhuzhu" 的时候vue是执行了this.form添加属性name。但是并没有监听到form表单的数据变化。

那么第二次呢,第二次我们有了name值属性,那么,但凡form发生什么属性变化和值的变化,就能监听到了。哦哦,原来如此,长知识了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值