【发布时间】:2016-01-21 00:55:41
【问题描述】:
我需要通过DynamicComponentLoader 向组件提供视图数据,如果可能的话通过构造函数,但为此我需要绑定数据。
var bindings = Injector.resolve([bind(Model).toValue(viewModel)]);
this.loader.loadIntoLocation(component, eleRef, anchor, bindings)
这可行,但我需要将数据绑定到 Injection-System 中,因此我不确定这是否正确。
另一种设置数据的方法是使用promise:
this.loader.loadIntoLocation(component, eleRef, anchor).then(componentRef=> {
var comp:AbstractComponentBase = componentRef.instance;
comp.model = viewModel;
});
这也可以,但模型在初始化期间是null(或伪值),这可能是@ViewChildren 和afterViewInit() 的问题。
还有其他方法可以为使用DynamicComponentLoader 创建的组件提供数据吗?
【问题讨论】:
标签: angular