Czytałem kilka artykułów na temat pułapek Angular 2, a czego unikać, jedna z tych rzeczy dotyczy braku bezpośredniego dostępu do DOM.Jak zdobyć/ustawić/usunąć atrybut elementu w Angular 2, używając "drogi kątowej"?
Zauważyłem, że Renderer
jest bardzo przydatny, ponieważ zawiera pewne metody, które mogą pomóc uniknąć pułapki DOM. Jednak zauważyłem, że nie zawiera on żadnych funkcji, tylko , takich jak setElementAttribute
, setElementClass
i tak dalej.
Moje pytanie jest więc dość proste, w jaki sposób korzystasz z powyższych funkcji, ale jako wersja get
i ? Czy żyją w innej klasie lub na przykład, w jaki sposób pracujesz przy pobieraniu atrybutów lub klas?
Czy istnieje sposób na przedłużenie Renderera? I czy to byłby dobry pomysł? A może lepiej byłoby stworzyć całkowicie niestandardowy? – Chrillewoodz
Jeszcze nie przyjrzałem się "Rendererowi", ale jestem pewien, że rozszerzenie to dobry pomysł. –
Ok, będę musiał rzucić okiem. Istnieje jednak jeden scenariusz, który zastanawiam się, jaki jest właściwy sposób, powiedzmy, że mam funkcję, która otrzymuje parametr '$ event' jako parametr. Następnie używam '$ event.target.getAttribute ('some-attr')', aby uzyskać atrybut z elementu target. Czy jest to właściwy sposób, aby zrobić to, gdy nie ma dostępu do 'nativeElement' celu? Warto zauważyć, że sam związałem detektor zdarzeń za pomocą 'Renderer' w pierwszym miejscu, z którego pochodzi wydarzenie. – Chrillewoodz