Vue数据不渲染问题

使用vue开发项目的时候,几乎都会遇到一个问题,数据改变了,但是页面没有渲染。这种情况下一般都是数组和json才会发生。

在初始化的时候,如果是一个数组,使用push方法进行赋值,数据改变了,页面不会重新渲染,因为数组push的时候没有触发render函数。这时候可以使用中间数组的形式进行赋值,就是直接this.list = data,或者是直接使用vue提供的set方法。

在局部改变摸个json的字段的时候,也有可能数据不会渲染,那是因为json层次的问题,vue没办法监听到那么深,json也可以用set方法触发。

当我们请求数据,得到了数据,页面渲染成功了,但是会报错,报的错还是这个数据的某个字段未定义。那是因为vue在挂载的时候已经先渲染了一遍,第一遍的时候数据确实没有,等你请求到了数据,vue会重新渲染,所以页面渲染出了数据,但是报错了。这时候可以在标签里面用v-if这个数据,表示在没有数据的时候隐藏了,等到有了数据才去触发重新渲染,这样就不会报错了。

要是以上两个方法还是不能使页面重新渲染,有人说是强制性触发render函数,this.$forceUpdate();本人使用set方法能解决暂时遇到的这个问题,所以这个方法待测试。

欢迎关注Coding个人笔记 公众号

转载于:https://juejin.im/post/5c4ad6f7f265da61407f3e12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值