我对AngularJS(使用2个稳定)相当陌生。我有一个现有的PHP/Codeigniter3应用程序,我的工作是制作SPA。我遇到了一个问题,我根本无法访问路由器参数,将它们添加到templateUrl中。Angular 2稳定性:templateUrl变量
例如:
import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';
@Component({
selector: 'apps_container',
// template: `You just accessed app: {{app_name}}` // This binding works obviously.
templateUrl: (() => {
// return 'app/' + this.route.params['app_name'] // Will never work no matter what because I have no access to route
return 'app/:app_name'; // Treated as a string.
})()
})
export class AppViewComponent {
app_name: any;
constructor(
private route: ActivatedRoute,
private router: Router
) {}
ngOnInit() {
this.route.params.forEach((params: Params) => {
this.app_name = params['app_name'];
});
}
}
'return“app /'”+ app_name +“'”;' – micronyks
@micronyks如果我照你的建议做,我会得到“错误TS2304:找不到名字'app_name'。来自编译器。如果我使用“return”app /'“+ this.app_name +”'“;”我得到一个未定义的变量,这是有道理的,因为构造函数甚至没有初始化。 –
尝试在导出类AppViewComponent中添加'private app_name' –