假设我有一个组件的许多实例,它由子组件组成,甚至可能是它下面的组件层次结构。顶级组件可能有子组件感兴趣的数据。我尝试了几种方法来处理这个问题:
- 将父组件注入(inject)子组件。
- 通过映射属性传递数据。
第一个解决方案引入了很多耦合,第二个解决方案冗长且困惑。我想做的是创建一个简单的模型类,父组件将实例化并绑定(bind)该模型类,以便子组件可以注入(inject)它,而不会影响层次结构之外的任何注入(inject)器。我尝试创建一个子注入(inject)器并在那里绑定(bind)模型,但没有成功(子注入(inject)器不使用子注入(inject)器,这是有道理的)。
我很确定 angular 会做类似这样的事情来将元素注入(inject)组件,但粗略搜索后我无法弄清楚是怎么做的。那么,这可能吗?我该怎么做?
最佳答案
您可以在指令或组件中定义模块。
* Example:
*
* @NgDirective(selector: '[foo]', module: FooDirective.initModule)
* FooDirective {
* static initModule() => new Module()..type(SomeTypeA);
* }
*
见:
关于dart - 在组件中绑定(bind)新类型,以便子组件可以注入(inject)它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24215133/