0
假設我想實現一個lightbox組件,該組件使用<dialog>
來呈現其內容。喜歡的東西:如何在angular2中注入組件實例
@Component({
selector: 'image-popup',
template: `
<dialog>
...
</dialog>
`
})
export class ImagePopupComponent {
...
show(): void {
this.element.nativeElement.showModal();
}
}
如果我在主應用程序組件創建的這個實例,我怎麼能允許從其他組件其訪問。例如,在一些後代組件中,我有一個按鈕,我希望點擊觸發此對話框實例上的show()。在我的用例中,這個組件將具有一個imageUrl屬性,並且多次使用相同的組件來顯示不同的圖像。
使用共享的服務。有大量類似的問題與答案。 –
馬丁的評論看起來是正確的。請注意,默認情況下,服務注入是單身人士。因此,您將在所有組件中接收到「MyModalService」的相同實例。 –