Z tego, co przeczytałem w Angular 2 documentation z QueryList
, @Query
, powinno umożliwić możliwość wstrzyknięcia odniesienia do komponentu potomnego do danego komponentu.Angular 2.0 - Jaka jest różnica między @ViewQuery a @Query
Korzystanie @QueryView
udało mi się uzyskać odwołanie do dziecka elementu DOM tak:
// Parent component's template
<my-component #test>
// Parent component
class ParentComponent {
constructor(@Query('test') child: QueryList<any>) {...}
}
Spodziewałem się, że @Query
może zwrócić element pasujący zamiast elementu DOM, ale nie udało aby to działało, ani nie znalazłem żadnej dokumentacji, która by to wskazywała.
Jaka jest różnica między tymi dwoma dekoratorów?
'@ ViewQuery' odpytuje Zobacz DOM (widok, który zdefiniowanych w szablonie, alias Cień DOM) i' @ zapytaniami Query' dla DOM światła, gdy jest stosowany w dyrektywie (zobacz ten [problem] (https : //github.com/angular/angular/issues/1935)). Należy pamiętać, że w następnym wydaniu, alfa38, nazwa użytkownika i kwerendy zostaną zmienione (patrz [# 3922] (https://github.com/angular/angular/issues/3922)). –
Eric, co masz na myśli mówiąc "lekki DOM"? Czy istnieje sposób na uzyskanie odniesienia do komponentów potomnych, tak aby można było wywoływać jego metody? Dzięki za ostrzeżenie dotyczące alpha38! – jaker
Dostałem "lekki DOM" stąd [O cieniu DOM] (https://www.polymer-project.org/0.5/platform/shadow-dom.html). Oto przykład, jak to zrobić: [plnkr] (http://plnkr.co/edit/WGupqC?p=preview), patrz komentarz w nim. –