Kiedy stosować transclude: 'true'
i kiedy transclude: 'element'
? Nie mogę znaleźć nic transclude: 'element'
w kątowych dokumentach, są dość zagmatwane.
Byłbym szczęśliwy, gdyby ktoś mógł to wyjaśnić prostym językiem. Jakie są zalety każdej opcji? Jaka jest prawdziwa różnica między nimi?
Oto, co znalazłem:
transclude: true
Wewnątrz funkcji kompilacji możesz manipulować DOM za pomocą funkcji łączenia transkludowania lub możesz wstawić transkludowany DOM do szablonu za pomocą dyrektywy ngTransclude na dowolnym tagu HTML.
i
transclude: ‘element’
To transkluduje cały element, a funkcja łącząca transkluduje jest wprowadzana do funkcji kompilacji. Nie możesz mieć dostępu do zakresu tutaj, ponieważ zakres nie został jeszcze utworzony. Funkcja kompilacji tworzy funkcję łączącą dla dyrektywy, która ma dostęp do zakresu, a transcludeFn pozwala dotknąć sklonowanego elementu (który został transkludowany) w celu manipulacji DOM lub użyć danych związanych z zakresem w nim. Dla twojej informacji, jest to używane w ng-repeat i ng-switch.
made available to the directive
oświadczenie. Element jest zawsze dostępny dla dyrektywy. czy możesz to rozwinąć?Po ustawieniu na true dyrektywa usunie oryginalną zawartość, ale udostępni ją do ponownego umieszczenia w szablonie za pomocą dyrektywy o nazwie ng-transclude.
renderowanie przeglądarki: „Witaj, świecie”.
źródło
transclude: true
itransclude: element
)Najlepszym sposobem myślenia o transkluzji jest ramka na zdjęcia, która ma swój własny projekt i miejsce na dodanie zdjęcia, możemy zdecydować, jakie zdjęcie znajdzie się w niej.
Jeśli chodzi o angular, mamy jakiś kontroler z jego zakresem i wewnątrz niego umieścimy dyrektywę obsługującą transkluzję. Ta dyrektywa będzie miała własny wygląd i funkcjonalność. W dyrektywie nieprzekazywanej treść dyrektywy jest określana przez samą dyrektywę, ale w przypadku transkluzji, podobnie jak w przypadku ramki obrazu, możemy zdecydować, co znajdzie się w dyrektywie.
Treść wewnątrz dyrektywy
Dyrektywa dotycząca połączeń
Przykład
źródło