父页面:A
子组件:B
子组件方法:init
传值:id
相关代码描述:
进入A界面,点击调用按钮,调用B组件里的方法init()(B组件相当于是一个弹窗),
引用B组件代码
A界面调用B组件inti() 的方法
B组件中接收父组件传来的eventId
B组件中的init()方法
问题:
进入A界面,点击调用按钮,发现A界面的id并未传过去。
关掉B组件界面。再次在A界调用B组件,发现值传过去了。
刷新A界面,再次尝试,发现结果一样。就是说刚进界面的第一次,值没传过去(真的如此?)
问题解决:
其实父组件A的值传过去了,只是子组件init()方法 打印比 接收值快一些。
使用this.$nextTick() ,问题解决:
this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行。
具体用途与解释可以自行百度。