Почему и когда использовать transclusion в AngularJS

0

В настоящее время я изучаю AngularJS, и я пытаюсь понять функцию перехода. Я читал разные статьи о трансклюзии, и теперь я понимаю разницу между transclude: true и transclude: 'element'.

Однако для меня не ясно, когда я должен его использовать. Вокруг много статей, но я могу найти практические примеры использования в реальном мире.

Поэтому я был бы очень признателен, если кто-то может мне помочь и продемонстрировать реальный пример использования трансклюзии и ответить на следующие вопросы:

  1. Имеет ли трансконтировка преимущества в отношении производительности?
  2. Почему бы просто не использовать ng-repeat а не cloneFn?
Теги:
angularjs-directive

1 ответ

0

В моем понимании, transclude:true используется, когда вам нужен контейнер. Это означает, что вы не знаете, какие пользователи вашей директивы будут помещены в ваш контейнер. Примером может служить диалоговое окно с общими частями, включая заголовок, кнопку закрытия и т.д. Но вы не хотите ограничивать вещи, которые могут быть помещены в это диалоговое окно. В этом случае, используя transclude:true, чтобы вы могли помещать любое произвольное содержимое внутри директивы.

Ссылка: https://docs.angularjs.org/guide/directive

Мы видели, что вы можете передавать модели в директиву с использованием области изоляции, но иногда желательно иметь возможность передавать весь шаблон, а не строку или объект. Скажем, что мы хотим создать компонент "диалогового окна". Диалоговое окно должно иметь возможность обернуть любое произвольное содержимое.

Это более или менее не учитывает эффективность. Просто ознакомьтесь с гибкостью директив.

ng-repeat - это совсем другая история. Он используется для повторения итерируемых коллекций.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню