@Directive({
selector: '[ngTemplateOutlet]'
})
export class NgTemplateOutlet implements OnChanges {
// 表示创建的内嵌视图
private _viewRef: EmbeddedViewRef<any>;
// 注入ViewContainerRef实例
constructor(private _viewContainerRef: ViewContainerRef) {}
}
@Input() public ngTemplateOutletContext: Object; // 用于设定EmbeddedViewRef上下文 @Input() public ngTemplateOutlet: TemplateRef<any>; // 用于设定TemplateRef对象
export class NgTemplateOutlet implements OnChanges {
ngOnChanges(changes: SimpleChanges) {
// 若this._viewRef已存在,则先从视图容器中对应的位置移除该视图。
if (this._viewRef) {
this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef));
}
// 若this.ngTemplateOutlet输入属性有绑定TemplateRef对象,则基于设定的上下文对象创建内嵌视图
if (this.ngTemplateOutlet) {
this._viewRef = this._viewContainerRef.createEmbeddedView(
this.ngTemplateOutlet, this.ngTemplateOutletContext);
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有