如何将异步数据从父控制器传递到子组件?

时间:2018-03-09 21:58:45

标签: angularjs asynchronous

如何将异步数据从父控制器传递到子组件?我使用angular 1.5.0来创建一个我想在其他视图/控制器中重用的子组件。我想在父控制器/组件中进行服务器调用,并使用子组件中返回的数据,也许可以使用函数对其进行修改。如果我希望我的组件真正可重用,那么我不想将任何代码放入我的父控制器来引导数据。

理论上,我应该能够在父控制器视图中实例化组件,传入异步数据,并能够在返回数据时在组件中的函数中使用它。

我在Angular 2中遇到了同样的问题。我不应该将异步数据传递给组件吗?如果我想对异步数据做一些事情,我是否总是要在组件中调用它?如果有人需要以多种方式查看数据并希望在多个组件中使用它,这似乎是一个巨大的缺陷......如果你算上Angular 2问题,这已经困扰了我好几天了。任何解释或推理将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这篇文章指示在组件中嵌入组件,以便您可以开始观看绑定。这是一个非常圆的做事方式,但它似乎做了这个工作。看起来很荒谬这个功能在他们创建组件时还没有预料到,大多数数据一般都是异步的,而且只有处理数据,按摩和显示数据的组件才会很好;无需进行自己的服务呼叫。如果您有一些组件显示相同的数据并且您希望将它们全部嵌入到控制器的视图中,该视图执行获取和更新数据然后将其传递给这些组件的工作,该怎么办?这似乎是一种可能的情况,也是我经常遇到的情况。所以这是文章:

https://www.bersling.com/2016/09/10/wait-for-the-bindings-of-a-directive-in-angular/

即使代码没有那么漂亮,它也可以运行,我不知道这个特定实现的影响,但是它有效。如果我忽略了一个无法预料的问题,或者有更好的方法,我愿意接受建议。谢谢。