将值从 ngOnInit 传递到模板
Posted
技术标签:
【中文标题】将值从 ngOnInit 传递到模板【英文标题】:pass value from ngOnInit to template 【发布时间】:2017-02-21 02:20:25 【问题描述】:export class AppComponent implements OnInit
sub: any;
lang: string;
constructor(public translate: TranslateService, public route: ActivatedRoute, private languageService: LanguageService)
ngOnInit()
this.sub = this.route.params.subscribe(p =>
let lang = p['lang'];
this.lang = lang;
);
this.languageService.translate.use(this.lang);
在模板中我有这个链接
<a [routerLink]="['en']">test</a>
如何将值从 ngOnInit 传递到该 routeLink?例如我想要这样的东西:
<a [routerLink]="[(lang)]">test</a>
但它是未定义的。在 ngOnInit 中它具有价值
【问题讨论】:
<a [routerLink]="lang">test</a>
不是为你工作吗?
不,反正未定义
【参考方案1】:
如果lang
确实不是未定义的,您应该可以在模板中执行此操作:
<a routerLink="lang">test</a>
或
<a [routerLink]="lang">test</a>
检查 ngOnInit 中的 console.log(lang)
,如果确实设置了,请先检查。
【讨论】:
以上是关于将值从 ngOnInit 传递到模板的主要内容,如果未能解决你的问题,请参考以下文章
将值从 Django 视图传递到 AngularJS 插入的模板