【发布时间】:2017-12-06 05:01:36
【问题描述】:
我定义了两种状态如下:
app.config(['$stateProvider', function ($stateProvider) {
$stateProvider
.state('edit', {
url: '/edit/{id}',
templateUrl: '/htmls/h1.html',
controller: 'SameCtrl',
onEnter: ...sameOnEnter...
resolve: {
...commonResolve...
}
})
.state('addinEdit', {
url: '/addin/edit/{id}',
templateUrl: '/htmls/h2.html',
controller: 'SameCtrl',
onEnter: ...sameOnEnter...
resolve: {
special: [ ... ],
...commonResolve...
}
})
}])
所以它们共享同一个控制器,同一个onEnter,并且它们有一个非常长和resolve的共同部分(实际上是一个链解决:first: function (...){...}, second: function (...){...}, ...)。有谁知道如何重写它们,这样我就不必写两次commonResolve?
【问题讨论】:
-
如果它们很长,那么可以写commonResolve变成私有函数吗?
-
@tiepnv 你能解释更多吗?我在哪里可以定义这样的私有函数?
标签: javascript angularjs angular-ui-router nested-routes nested-views