Bileşenleri Dinamik olarak yüklemek istediğim RC5'te bir angular2 uygulaması oluşturuyorum. RC1 içindeAngular2 RC5'te DynamicComponentLoader için alternatif mi?
, ben dynamicComponentLoader kullanarak aynı yaptı:
@Component({
moduleId: module.id,
selector: 'generic-component',
templateUrl: 'generic.component.html',
styleUrls: ['generic.component.css']
})
export class GenericComponent implements OnInit {
@ViewChild('target',{read:ViewContainerRef}) target;
@Input('component-name') componentName:string;
@Input('component-info') componentInfo:string;
@Input('component-model') componentModel:Object;
keysRegister:string[]=[
'users',
'employee'
];
componentNames:string[]=[
'UserComponent',
'EmpComponent'
];
constructor(private dcl:DynamicComponentLoader) {}
ngOnInit() {
}
ngAfterViewInit(){
let componentIndex=this.keysRegister.indexOf(this.componentName);
this.dcl.loadNextToLocation(StandardLib[this.componentNames[componentIndex]],this.target)
.then(ref=>{
ref.instance.componentModel=this.componentModel;
});
console.log("GenericComponent...... "+this.componentName+" Loaded");
}
}
ve ben bileşeni yüklemek istediğim zaman yapacağını:
<div *ngIf="columnModel" style="border:1px solid orange">
<generic-component
[component-name]="columnModel.componentName" <!-- I will pass *users* here -->
[component-model]="columnModel.componentModel"
[component-info]="columnModel.componentInfo"
></generic-component>
</div>
Ben componentResolver kullanarak denedim ama mümkün değilim düzgün çalışmasını sağlayın. Herhangi bir girdi var mı? Teşekkürler.