我有两个不同的视图/状态(扩展名,q_and_a),它们有一个名为Notifications的标签。通知是一个独立的状态,有自己的控制器。 通知控制器对扩展和q_and_a做同样的事情,使用不同的notifiable_type和notifiable_id,我可以将其作为stateparams发送。
如何重复使用具有不同状态的相同通知控制器?或者将通知选项卡作为指令是比重用它更好的解决方案。 (虽然有大量的返工)
答案 0 :(得分:1)
重用控制器是可以的。这些状态定义有some plunker:
.state('other', {
url: "/other",
templateUrl: 'tpl.html',
controller: 'controllerParent',
})
.state('parent', {
url: '/parent',
templateUrl: 'tpl.html',
controller: 'controllerParent',
})
都使用相同的控制器:
app.controller('controllerParent', function($scope, $state){
})
如果您可以为他们提供相同的参数集,例如function($scope, $state, $stateParams,...)
,例如有了决心..它会对你有用
原因是:控制器一次又一次地被实例化。每个视图都有不同的实例。即使这些观点是一个父母国家的兄弟姐妹。与工厂,服务......单身人士相比,这就是差异
检查here