的角度UI路由器允许 多个嵌套视图 。这些可互换视图的作用似乎与指令的作用重叠。
使用(多个,嵌套的) ui-view s vs angular 指令的 利弊是什么?
ui-view
状态和路由是两个不同的功能。状态允许您换出partial.html模板及其控制器,并且您可以(可选地?)指定相应的URL /路由。
在Tim Kindberg(ui-router开发人员)的电子邮件回复中:
ui-router
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: ... */ } } })
奖励问题:
是正常的角度指令功能提供给意见?如:
如果ui-views ARE指令,则显然它们的用法是不同的。协调这些模型是否有意义?
如果使用Angular UI路由器的内联视图指向指令又如何呢?
假设您有一个表指令,用于处理用户帐户上的CRUD操作。我们将指令命名为user-admin。我们的路线文件如下所示:
user-admin
.state('users', { url: '/users', template: "<user-admin>" });
这会给您带来很多好处: