将值从 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 中它具有价值

【问题讨论】:

&lt;a [routerLink]="lang"&gt;test&lt;/a&gt; 不是为你工作吗? 不,反正未定义 【参考方案1】:

如果lang 确实不是未定义的,您应该可以在模板中执行此操作:

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

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

检查 ngOnInit 中的 console.log(lang),如果确实设置了,请先检查。

【讨论】:

以上是关于将值从 ngOnInit 传递到模板的主要内容,如果未能解决你的问题,请参考以下文章

无法将值从组件传递到模板

将值从 Django 视图传递到 AngularJS 插入的模板

如何将值从模板传递到 ts 函数

如何将值从 django 模板化 html 传递到 ajax

如何将值从Django模板传递给View

如何将值从 javascript 函数传递到 django 视图