Yönlendirme özelliklerini kullanarak Angular 2 ile bir uygulama oluşturuyorum ve daha yüksek yollardan biri tarafından oluşturulan bir açılır pencere bileşenim var ve bunu açmak istiyorum Daha derin yollardan biri tarafından oluşturulan bir bileşendeki tıklama olayı.Açısal 2: Başka bir bileşenden mevcut bileşeni arayın
@Component({
selector: 'popup-component',
template: '<div [class.show]="isVisible">This is a popup.</div>'
})
export class PopupComponent {
public isVisible: boolean = false;
show() {
this.isVisible = true;
}
}
Bunu çağırabilirsiniz Nasıl: Açık bir yöntemle
@Component({
selector: 'application',
template: '<router-outlet></router-outlet><popup-component></popup-component>',
directives: [PopupComponent]
})
@RouteConfig([
{ ... },
{ ... }
])
export class AppRoute { }
Ve basit bir pop-up bileşeni: Örneğin
, bu reklam pop-up içeren bir şablonla bir taban yönlendirici var diyelim Yönlendirme ağacında bir yerde bulunan başka bir bileşenden AppRoute tarafından zaten oluşturulmuş olan belirli bir PopupComponent yöntemini göster? Böyle bağımlılık enjeksiyon kullanılarak denedi
:
@Component({
selector: 'my-component',
template: '<button (click)="showPopup()"></button>'
})
export class MyComponent {
constructor(private popup: PopupComponent) { }
showPopup() {
this.popup.show();
}
}
Ama bu sadece aslında henüz oluşturulmamışsa PopupComponent yeni bir örneğini oluşturur. AppRoute tarafından oluşturulanı nasıl arayabilirim?
@viewchild tarafından yapılabilir mi? – Avij