为了账号安全,请及时绑定邮箱和手机立即绑定

Vue中的computed是在生命周期的哪个阶段执行的?

Vue中的computed是在生命周期的哪个阶段执行的?

守候你守候我 2019-05-25 13:47:25
是在mounted之前吗?
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

1.在newVue()的时候,vue\src\core\instance\index.js里面的_init()初始化各个功能
functionVue(options){
if(process.env.NODE_ENV!=='production'&&
!(thisinstanceofVue)
){
warn('Vueisaconstructorandshouldbecalledwiththe`new`keyword')
}
this._init(options)//初始化各个功能
}
2.在_init()中有这样的一个执行顺序:其中initState()是在beforeCreate和created之间
initLifecycle(vm)
initEvents(vm)
initRender(vm)
callHook(vm,'beforeCreate')
initInjections(vm)//resolveinjectionsbeforedata/props
initState(vm)//初始化
initProvide(vm)//resolveprovideafterdata/props
callHook(vm,'created')
3.在initState()做了这些事情:
if(opts.props)initProps(vm,opts.props)//初始化Props
if(opts.methods)initMethods(vm,opts.methods)//初始化methods
if(opts.data){
initData(vm)}else{
observe(vm._data={},true/*asRootData*/)}//初始化data
if(opts.computed)initComputed(vm,opts.computed)//初始化computed
4.所以Props,methods,data和computed的初始化都是在beforeCreated和created之间完成的。
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 3148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号