- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个组件,使用 ComponentFactoryResolver 创建另一个组件。它似乎工作正常,我可以通过@Input 访问数据。问题是 ngOnChanges 在组件启动或数据更改时永远不会被调用。但是,如果我使用 HTML 中的选择器以正常方式创建组件,它确实会触发。这不是动态的,所以我只剩下 ComponentFactoryResolver。这是正常行为吗?
我的父组件有它的输入:
@ViewChild( MyDirective ) myHost: MyDirective;
然后它创建子组件,其输入如下:
@Input('key') key: String;
@Input('index') index: number;
我正在创建这样的组件:
let item = new Item(ItemDropdownComponent, this.key, 0);
let componentFactory = this._componentFactoryResolver.resolveComponentFactory(item.component);
let viewContainerRef = this.myHost.viewContainerRef;
viewContainerRef.clear();
let componentRef = viewContainerRef.createComponent(componentFactory);
(<ItemInterfaceComponent>componentRef.instance).key = item.key;
(<ItemInterfaceComponent>componentRef.instance).index = item.index;
最佳答案
这是预期的行为。不过,您可以显式调用更改检测
componentRef.changeDetectorRef.detectChanges();
关于angular - 通过 ComponentFactoryResolver 创建组件时更改检测不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43112685/
我有一个组件,使用 ComponentFactoryResolver 创建另一个组件。它似乎工作正常,我可以通过@Input 访问数据。问题是 ngOnChanges 在组件启动或数据更改时永远不会被
我正在编写一个列出一些用户并在单击用户时显示信息页面的应用程序。用户类型不同(约 20 种),详细信息页面在布局和功能上因用户类型而异。 我有一个主 DetailsComponent 和 20 个必须
我需要一些关于 ComponentFactoryResolver 和架构的建议。我的代码中有 n 个面板(后端提供面板的数量),在这些面板中,我有动态字段(数量也由后端提供)。例如,每个面板的开头应该
我尝试使用 ComponentFactoryResolver 来创建动态 Angular 组件。下面是我注入(inject) ComponentFactoryResolver 的代码。 import
我从 NG4 -> NG6 重写库(使用 angular-cli 6)。这个 lib 改变了 dynamicli angular 组件,所以我使用 ComponentFactoryResolver 在
我想创建一个动态加载不同组件的 Angular 7 Web 应用程序,如本官方文档中所示: https://angular.io/guide/dynamic-component-loader 但我不确
是否有一种方法可用于在动态创建的 Angular 2 组件上定义 @Input 属性? 我正在使用 ComponentFactoryResolver在容器组件中创建组件。例如: let compone
正如您所知,在早期版本的 Angular 中,可以在 ComponentFactoryResolver 的帮助下创建动态组件。作为 export class DialogService { dia
我想使用 ComponentFactoryResolver 动态创建组件,我已阅读有关如何实现此目的的教程(例如 this),但看不到它与 Material 组件有何关系。 示例 - 动态呈现 md-
我有一个组件,它呈现 DOM,它应该在 svg 标签内: import { Component, Input } from '@angular/core'; @Component({ select
我使用 ComponentFactoryResolver 访问所有入口组件工厂,然后在 Angular 7 中动态添加这些组件的路由。 constructor(private componentFac
我现在有点迷茫,需要帮助。所以,我有一个组件使用 componentFactoryResolver 将子组件动态注入(inject)到它的模板中,这是我的 HTML Back
在我的 Angular 10 应用程序中,我正在通过组件工厂解析器加载一个包含 AG 网格的组件。 当我通过按钮触发工厂解析器时,一切正常。显示网格和 gridReady事件被正确触发。 但是,如果我
我是一名优秀的程序员,十分优秀!