ui-router controller stateparams

时间:2015-10-20 14:48:46

标签: angularjs angular-ui-router

我有以下用例: 我有两个相同的视图,以及两个非常相似的控制器。我打算用另一个扩展一个控制器,然后重写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”并以这种方式获取参数。如果按名称选择控制器的范围,有没有办法修改控制器的范围?

最好的问候。

0 个答案:

没有答案