我有以下用例: 我有两个相同的视图,以及两个非常相似的控制器。我打算用另一个扩展一个控制器,然后重写diff。我遇到的问题是在ui-router中我想按名称选择控制器(因为模板是共享的,控制器不同,这不能在模板本身声明)
在重构之前,我有以下代码:
.state('edit-page-menu', {
url: '/sites/:siteId/page_menus/:menuId',
templateUrl: 'partials/edit-menu.html',
controller: ['$scope', '$stateParams', (scope, stateParams) => {
scope.siteId = stateParams.siteId
scope.menuId = stateParams.menuId
}]
})
将stateParams添加到范围。在这个用例中,我在模板中定义了控制器,并可以通过这种方式修改范围。但是现在我按名称方法切换到控制器
.state('edit-page-menu', {
url: '/sites/:siteId/menus/:menuId',
templateUrl: 'partials/edit-menu.html',
controller: 'editMenuCtrl'
})
我不知道如何将$ stateParams注入/添加到控制器。我真的想避免在控制器中注入“$ state”并以这种方式获取参数。如果按名称选择控制器的范围,有没有办法修改控制器的范围?
最好的问候。