Я хочу показать popover, когда пользователь нажимает на поле ввода, которое отлично работает, но я хочу, чтобы атрибут данных-содержимого этого popover должен был поступать из шаблона дочернего компонента , Вот пример:Angular2 - использование дочернего компонента как значения атрибута
parent.ts
import {Component,AfterViewInit} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
import {ChildComponent} from './child_test.ts';
@Component({
selector: 'app',
template: `<input type='text' data-toggle="popover" data-trigger="focus" data-placement="bottom" [attr.data-content]="getPopoverContent()" />`,
providers: [ChildComponent]
})
class AppComponent implements AfterViewInit{
constructor(private _child: ChildComponent) {}
getPopoverContent(){
return this._child; //returning empty object instead of child template
}
ngAfterViewInit(){
$("input").popover();
}
}
bootstrap(AppComponent);
child.ts
import {Component} from 'angular2/core';
@Component({
selector: "child-component",
template: "<div>Popover content from child.</div>"
})
export class ChildComponent{};
Должен ли я использовать DynamicComponentLoader вместо инъекции зависимостей? если да, то как я могу это достичь?
Почему у вас есть компонент в поставщиках? Это должно быть на директивах, и вы должны запросить его, а не вводить так. –