angular ui-router позволяет несколько вложенных представлений. Роль этих взаимозаменяемых взглядов, похоже, перекрывает роль директив.
Каковы преимущества/недостатки использования (нескольких, вложенных) ui-view
s vs angular директив?
UPDATE
Состояния и маршрутизация - это две разные функции. Штаты позволяют вам заменять шаблоны partial.html и их контроллеры, и вы можете (необязательно?) указать соответствующий URL/маршрут.
В ответе от Тима Киндберга (a ui-router
dev):
ui-view - это директива, поэтому, если вы ее используете, вы используете директиву который работал над тем, чтобы хорошо работать с остальными ui-router. Я не могу себе представить, что легко сворачивать свои собственные чтобы заменить эту функциональность.
И для этого, похоже, у вас может быть 2 варианта:
Нормальные директивы:
app.directive('myDir1', {/* controller: ... */})
.directive('myDir2', {/* controller: ... */})
vs ui-view "Директивы"
$stateProvider.state('route1', {
/* url: "/route1", // optional?? */
views: {
"myDir1": { templateUrl: "myDir1.html" /* , controller: ... */ },
"myDir2": { templateUrl: "myDir2.html" /* , controller: ... */ }
}
})
Бонусный вопрос:
Доступны ли представления нормальные angular функции директивы? Например:
- Transclude
- Заменить
- Изолировать область охвата
- Функции компиляции/связывания
Если ui-views ARE директивы, кажется, что их использование отличается. Не имеет смысла согласовывать эти модели?