angular - Angular TemplateRef 变量
问题描述
任何帮助或提示将不胜感激。我正在使用 Angular 8。在指令 time.directive.ts 中,我不明白“this.templateRef”是如何初始化的。我没有看到它初始化。它是在构造函数中初始化的吗?
application.component.html:
<ul *appTimes="5">
<li>Hi there!</li>
</ul>
time.directive.ts:
import { Directive, TemplateRef, ViewContainerRef, Input } from '@angular/core';
@Directive({
selector: '[appTimes]'
})
export class TimesDirective {
constructor(
private viewContainer: ViewContainerRef,
private templateRef: TemplateRef<any>
) { }
@Input('appTimes') set render(times: number) {
this.viewContainer.clear();
for(let i=0; i < times; i++) {
this.viewContainer.createEmbeddedView(this.templateRef, {});
}
}
}
解决方案
由于依赖注入,它在构造函数中初始化
推荐阅读
- c# - 我可以 PInvoke C++ 可执行文件但不能共享库
- python - 使用 Pyaudio 暂停录制
- php - 我如何将 php 变量传递给 ajax
- windows - 找不到 Windows Docker Jenkins 管理员密码
- java - 有什么方法可以减少以下 java 代码的“圈复杂性”。?
- java - 阵列随机化
- c# - 无法检索列表框项值 ASP.NET
- linux - 搜索文件
- flutter - Flutter Sqflite 开放数据库需要join方法
- react-native - React Native,克隆的 repo 有 Reactotron 代码,现在我想使用它但没有连接