vue父组件中的异步方法传参给子组件

我们经常会处理这样的问题,在父组件执行异步方法,通过props传值给子组件,但是子组件没有获取到.

碰到这样的问题时,首先检查代码有没有出错,方法成功执行完没有.其次想实时传值过去.目前有个最简单

最直接有效方法是给子组件添加ref属性比如

<child ref="child"></child>
在异步方法执行完后例如使用的promise,那么就在then里面添加

this.$refs.child.init(data.result)
ps:此处的data.result是后台返回的对象或者数组

接着在子组件的methods内添加一个上面写到的init方法(也可以是其他名称,但是要对应)

如init:function(obj){

  this.userInfo=obj    

}

此处的userInfo只是举例,他是data里面声明的接收对象属性名称.

当然异步传参还有很多其他方式,这里只是觉得这个挺实用,分享出来.

原文地址:https://www.cnblogs.com/cool-wan/p/13454288.html