Javascript 是否可以从Angular 4组件模板属性调用函数?
我想知道是否有可能从如下所示的角度4组件的模板属性调用函数?我希望以字符串形式从函数返回模板,甚至可能返回模板url。模板将根据@Input字符串值进行选择,并作为函数签名的一部分 目前我得到了这个。getTemplate不是一个函数 任何帮助都将不胜感激Javascript 是否可以从Angular 4组件模板属性调用函数?,javascript,angular,typescript,Javascript,Angular,Typescript,我想知道是否有可能从如下所示的角度4组件的模板属性调用函数?我希望以字符串形式从函数返回模板,甚至可能返回模板url。模板将根据@Input字符串值进行选择,并作为函数签名的一部分 目前我得到了这个。getTemplate不是一个函数 任何帮助都将不胜感激 @Component({ selector: 'app-test', styleUrls: ['./test.component.css'], template: this.getTemplate(this.templateNam
@Component({
selector: 'app-test',
styleUrls: ['./test.component.css'],
template: this.getTemplate(this.templateName)
})
export class TestComponent implements OnInit {
@Input() templateName: string = '';
getTemplate(name: string) : string {
if (name == "first") {
return `<h5>First Template</h5>`
}
return `<h5>Second Template</h5>`
}
getTemplate(name: string) : string {
if (name == "first") {
return './first.component.html'
} else {
return './second.component.html'
}
}
constructor() {}
ngOnInit() {}
}
不,这是不可能的。您需要静态地引用它,否则angular将找不到要加载的模板
因为Angular编译器需要首先找到模板并能够访问它。它不能解析变量或函数
看看这个不幸的问题。这在angularjs中是可能的。感谢您提供的信息。CLI正在为组件选择器添加app-at-generation前缀,除了我试图解决的这个问题之外,它们似乎工作得很好。