2016-07-09 4 views
0

Я создаю компонент для датчиков с использованием JustGage в угловом 2.Div идентификатор не признается justGage в угловом 2

После мой компонент,

@Component({ 
    selector: 'my-gauge', 
    template: '<div id={{gaugeId}} style="width:200px; height:150px;" ></div>' 
}) 
export class GaugeComponet implements OnInit { 

    @Input() 
    gaugeId: String; 

    ngOnInit() { 
     console.log("inside on init with id : " + this.gaugeId); 
     var g = new JustGage({ 
      id: this.gaugeId, 
      value: 45, 
      min: 0, 
      max: 100, 
      title: "Title" 
     }); 
    } 
} 

и его использование в приложениях компонента,

@Component({ 
    selector: 'my-app', 
    template: '<h1>Gauge Demo</h1> <my-gauge gaugeId="testId"></my-gauge>', 
    directives :[GaugeComponet] 
}) 
export class AppComponent { } 

Когда я бегу этот код я получаю следующий результат в браузере консоли,

inside on init with id : testId GaugeComponent.js (line 16) 
* justgage: No element with id : testId found 

Когда я жестко указываю идентификатор в компоненте gauge, я могу видеть датчик на моей странице.

Что я делаю неправильно?

ответ

1

Вы не прошли testId как строку.

Попробуйте это:

<my-gauge gaugeId="'testId'"></my-gauge> 

Или вам нужно иметь переменную testId в вашем AppComponent:

@Component({ 
    selector: 'my-app', 
    template: '<h1>Gauge Demo</h1> <my-gauge gaugeId="testId"></my-gauge>', 
    directives :[GaugeComponet] 
}) 
export class AppComponent { 
    testId = 'testId'; 
} 

Update

Вы также должны использовать ngAfterViewInit крюк вместо ngOnInit для инициализации JustGage

+0

Я попытался пропусканием идентификатор в переменной, как [gaugeId] = «имяПеременной», но до сих пор он не работал, и в первый apporoach я получил это «внутри на INIT с id: 'testId' GaugeComponent.js (строка 16) * justgage: Нет элемента с идентификатором: 'testId' found '. Также я получаю id в своем компоненте, если вы видите вывод консоли, я получаю идентификатор. – BhaskerYadav

+0

Я обновил свой ответ – yurzui

+0

Это сработало. Спасибо тонну юрзуй ..... – BhaskerYadav