Açısal 2 tam bir zengin bileşenle gelmediğinden, önyükleme 2 içinde önyükleme kullanmaya karar verdim. Bunun sanal kubbe sorununu kırdığı için en iyi fikir olmadığını biliyorum. diğer çözüm. Sorun şu ki açısal 2 bileşen popover html içinde işlemez. Bunun için herkesin bir çözümü var mı?Açısal 2 Bileşen, önyükleme önyükleyicisi içinde
Renderer sınıfına bakıyorum ve bu benim için bir çözüm gibi görünüyor, ancak işe yaramayacağım. İşte bazı kod: popover tutun
Benim ana bileşeni
ngAfterViewInit() { // viewChild is updated after the view has been initialized var elements = jQuery(this.elementRef.nativeElement).find('[data-toggle="popover"]'); jQuery.each(elements, jQuery.proxy(function(index, element){ var eventId = jQuery(element).prop('id'); jQuery(element).popover({ html : true, placement: 'top', container: 'body', content: this.getEventContent(eventId) }); }, this)); } getEventContent(eventId){ var selectedEvent = this.getEvent(eventId); var button = jQuery('<button type="button" class="btn register"></button>'); var angularViewHolder= jQuery('<div></div>'); this.renderer.createElement(angularViewHolder[0], 'event-view') button.attr('id', eventId); return selectedEvent.description + '<br />' + button[0].outerHTML + angularViewHolder[0].outerHTML; }
Ben popover
import {Component, View} from 'angular2/core';
@Component({
selector: 'event-view',
template: '<div>Application details for application id: <h1>{{id}}</h1> will be loaded here!</div>',
inputs: ['id']
})
export class EventView {
id: string;
constructor() {
}
}
I işlemek gerekir My olay görünüm bileşeni Çözümümün Renderer.renderComponent öğesinde olacağını düşünün ancak nasıl kullanabileceğimi bilmiyorum.
'ng2-bootstrap''e baktınız mı? –
Öneri için teşekkürler Evan. ng2-bootstrap henüz popover içermiyor. Bir ipucu var, ama hala çok zayıf. –
@MohyEldeen yerine [ng2-popover] (https://github.com/pleerock/ng2-popover) yerine – pleerock