将值从ngOnInit传递给模板

时间:2016-10-12 10:07:07

标签: angular ngoninit

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中它有值

1 个答案:

答案 0 :(得分:2)

如果lang确实未定义,您应该只能在模板中执行此操作:

<a routerLink="{{lang}}">test</a>

<a [routerLink]="lang">test</a>

首先检查你的ngOnInit中的console.log(lang)是否确实。