使用ui.router,我们有一个状态控制器:
controller('widget', function($repository, $stateParams){
$scope.widget = $repository.get($stateParams.id);
})
Run Code Online (Sandbox Code Playgroud)
注册时间:
.state('widget',
controller: 'widget',
template: '/widgetTemplate.html'
Run Code Online (Sandbox Code Playgroud)
我们遇到了一个案例,我们希望将此控制器作为模板的一部分重用:
<div ng-controller="widget" ng-include="/widgetTemplate.html"></div>
Run Code Online (Sandbox Code Playgroud)
但似乎没有一种简单的方法可以使用正确的ID注入模拟的$ stateParams对象.就像是:
<div ng-controller="widget" ng-inject="{$stateParams: {id: 1234}}" ng-include="/widgetTemplate.html"></div>
Run Code Online (Sandbox Code Playgroud)
除了编写增强ng-controller或重构我们的代码以使用继承范围的自定义指令之外,是否有任何开箱即用的方法可以做到这一点?