问题 1:子组件获取不到值
原因:子组件父组件执行顺序,父组件的 created --> 子组件的 created --> 子组件的 mounted --> 父组件的 mounted,根据执行顺序发现若是你将异步请求放在 mounted 中,父组件传过来的只是初始值,所以赋值失败
解决办法:在父组件中增加 v-if 条件,当异步请求完成后再渲染
问题 2:场景,Vue 的父组件根据接口 api 获取到数据后,动态更新到子组件的 props 上,在子组件上把数据,直接渲染到模型上即可。但是,实际项目中,往往要对子组件上接收到的数据进行操作处理,然后才能通过 data 渲染到页面上,这时就会发现数据不能动态更新。
原因:从 props 的 info 传递给 data 的 list ,只有一次操作,就是在 mounted 中,往后即使 props 的 info 发生了变化,data 也接收不到。问题在于数据在传递过程中不能及时关联,针对这一点,可以用 watch 来进行跟踪,当然很好的办法是使用 computed。
PS:先更,代码后面补上