如何基于先前的服务器端调用创建动态 Angular JS 4 子组件

Posted

技术标签:

【中文标题】如何基于先前的服务器端调用创建动态 Angular JS 4 子组件【英文标题】:How to create dynamic angular JS 4 child components based on a previous server side call 【发布时间】:2017-11-24 20:59:28 【问题描述】:

一旦我的应用程序启动,我就会访问客户端的 IP 地址并将其传递给服务器。服务器将根据客户端 IP 提供一些数据。

使用这些数据,我将决定应该在页面上嵌入多少子组件,例如使用 ng-for 循环

我的问题是,服务器端调用需要时间才能回来。到那时 ng-for 循环 已完成零记录。

如何等到服务器调用返回后再启动“ng-for 循环”

我尝试使用父级的 "EventEmitter"。一旦父组件从服务器获得一些值,我将在父组件上发出一个事件。但是子组件没有接收到发出的事件。然后我意识到,它只有在孩子发出事件时才起作用,父母可以抓住它。这是正确的吗 ?父组件能否发出事件,所有子组件都可以监听并捕获它吗?

请指教。

谢谢 亚当

【问题讨论】:

【参考方案1】:

我认为您需要检查您的数据是否为空。

试试这个:

<div *ngIf="myArray" *ngFor="let item of myArray">item | json</div>

当你的变量 myArray 完成你的 ngFor 工作时。

【讨论】:

以上是关于如何基于先前的服务器端调用创建动态 Angular JS 4 子组件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Angular Universal 对动态生成数据的 SEO 支持

laravel - 基于先前选择的动态下拉列表

Angular 2:如何动态创建 ViewContainerRef

角后端服务调用没有休息调用

如何在 Angular2 中禁用动态表单

现代 Angular 应用程序如何使用不同的基于传统的服务