Vue生命周期函数的部分理解

1.Vue中ajax放在Created和Mounted的区别

放在哪个钩子好?

个人见解:!!!一般来说放在Created中就可以了,如果涉及到需要操作DOM节点或者需要页面加载完成的情况才放到Mounted中的this.$nextTick函数中(vue的异步更新)

区别(暂时确定是这些,如有求评论!!):
1.ssr(服务器端)不支持beforeMount/Mounted等钩子,意思是服务端渲染的话不能放在Mounted。
2.Created中无Dom节点

误区(不知道对不对):
1.放在Created中,若数据量过大,请求时间过长的话,会导致页面暂时性空白问题

答:生命周期函数是同步代码,异步代码是在生命周期函数之后才执行的!!而ajax数据请求是异步的,都是等Mounted执行完毕后再去请求数据,所以说放在哪里都一样!而且像这种数据量过大的问题,应该自己写业务代码去解决,如添加loading,配合路由导航等

2.放在Mounted中会造成二次渲染

答:同上,生命周期函数是同步代码,异步代码是在生命周期函数之后才执行的!!放在哪里都一样。。反而,若是有些操作数据的同步代码,一定是同步的,才提前到created中更好,这样mounted才不会重新生成虚拟树!

2.BeforeUpdate的触发条件一定是视图层的数据改变才会触发,单单data中的数据改变是不会触发的!

例如从mounted中改变数据的话,由于异步更新的机制,单单data数据变化是不会触发的(可以用代码试试)

3.避免直接在Updated中操作数据,不然会陷入死循环

因为updated中修改数据会触发beforeupdate,beforeupdate又去触发updated,又去修改…死循环

除了beforeupdate与updated,一般来说,同个组件其他钩子只会执行一次(猜测)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值