Chcę zrozumieć, co jest i dlaczego Renderer2 jest używany kątowo do manipulacji DOM. Czy możemy użyć bogatej i sławnej biblioteki jQuery w miejsce Renderer2 lub natywnego javascript? Co jest zaletą korzystania z Renederer2 przez jQueryCo to jest Renderer2 w angular4? dlaczego jest preferowany w porównaniu z jquery?
Odpowiedz
W normalnym kontekście przeglądarki Renderer2
jest prostym domyślnym otokiem wokół API przeglądarki manipulacji DOM. Na przykład, oto the implementation zaledwie kilku swoich metod:
class DefaultDomRenderer2 implements Renderer2 {
addClass(el: any, name: string): void { el.classList.add(name); }
createComment(value: string): any { return document.createComment(value); }
createText(value: string): any { return document.createTextNode(value); }
appendChild(parent: any, newChild: any): void { parent.appendChild(newChild); }
To zostało wprowadzone do abstrakcyjnych operacji renderowania od czystego elementów DOM. Na przykład, jeśli chcesz dodać klasę zrobiłbyś to tak:
constructor(el: ElementRef, renderer: Renderer2) {
renderer.addClass(el.nativeElement, 'some');
}
Tutaj można zobaczyć, że nie oddziałują bezpośrednio z elementów rodzimych i nie używać jej API jak zrobiłbyś to z jQuery:
constructor(el: ElementRef) {
$(el.nativeElement).addClass('some');
}
Kod z renderującego ma zaletę, że są w stanie uruchomić na platformach innych niż DOM jeśli podasz inną realizację renderującego dotyczących tej drugiej platformie. Na przykład Angular zapewnia implementację Renderer2
dla webworkera WebWorkerRenderer2
. Implementuje metody API
, takie jak: addClass
przy użyciu metod komunikacji z główną aplikacją, która wymaga aktualizacji DOM.
- 1. Dokładnie to, co jest testowaniem integracyjnym - w porównaniu z jednostką
- 2. Co to jest odpowiednik "getElementsByTagName" w jQuery?
- 3. Co to jest Join() w jQuery?
- 4. Co to jest jQuery (krawędź) w jsfiddle.net?
- 5. Co to jest console.log w jQuery?
- 6. Co to jest {} + {} w JavaScript?
- 7. Co to jest jQuery18007779947370290756
- 8. Co to jest UIViewController
- 9. Co to jest ".el" w związku z JavaScript/HTML/jQuery?
- 10. Co to jest WebIDL i (dlaczego) jest to ważne?
- 11. Co to jest DataModule (dm) w Delphi?
- 12. Zastępowanie operatora C++ - dlaczego preferowany jest przyjaciel?
- 13. MySQL - Co to jest utf8_general_mysql500_ci?
- 14. Co to jest === w javascript?
- 15. Co to jest [....] w Rubim?
- 16. Co to jest %% w Happy?
- 17. co to jest $ .expr [":"] w javascript lub jQuery?
- 18. Co to jest jQuery (dokument) vs. $ (dokument)
- 19. Co to jest @ @ w Perlu?
- 20. Co to jest @. w Perlu?
- 21. Co to jest @ @ w Bash?
- 22. Co to jest: w php?
- 23. Co to jest @ $ w perlu?
- 24. Co to jest `$?` W Powershell?
- 25. Co to jest "==" w C?
- 26. Co to jest jQuery dyskretna walidacja?
- 27. Dlaczego Java jest bezpieczna w porównaniu z innymi językami programowania?
- 28. Co to jest jQuery dla Document.createElementNS()?
- 29. Co to jest "usuń to"?
- 30. Dlaczego JQuery jest wolniejszy w IE?
Wszelkie odniesienia, w których możemy podać szczegóły opis Renderer2 –
@MantuNigam, nie sądzę, że poza źródłami (https://github.com/angular/angular/blob/e3140ae888ac4037a5f119efaec7b1eaf8726286/packages/ platforma-przeglądarka/src/dom/dom_renderer.ts # L102) –
Dzięki, @ AngularInDepth.com Oto jeszcze jeden dobry przykład tego samego https://www.concretepage.com/angular-2/angular-4-renderer2- przykład –