@Input is undefined в ngOnInit в корневом компоненте

Оказывается рутовые компоненты Angular не поддерживают биндинг параметров. Решение под катом.

Единтственное решение которое нашёл на данный момент — использование ElementRef и выдирание значений атрибутов напрямую через nativeElement:

<!-- тег приложения -->
<app title="{{ title }}"></app>

 

import { Component, ElementRef } from '@angular/core';

@Component({
  selector : 'app',
  template : '<h1>{{ title }}</h1>'
})
export class AppComponent {
  title : 'Default title';

  constructor(ref: ElementRef) {
    this.title = ref.nativeElement.getAttribute('title');
  }
}

 

Комментарии

comments powered by Disqus
Яндекс.Метрика