在ui-router状态下,我可以这样做:
.state('someState', {
url: 'somePath',
templateUrl: 'somePath',
controller: 'someController',
resolve: {
beverageBrandLookups: function(LookupFactory){
return LookupFactory.getLookupsByType('beverageBrand')
}
beverageFlavorLookups: function(LookupFactory){
return LookupFactory.getLookupsByType('beverageFlavor')
}
}
})
这样可以正常工作,但我必须将每一个单独注入到控制器中,并且我有更多2次查找,这只是一个小例子。
在解决方案中有没有办法命名空间?像这样:
resolve: {
lookups: {
brands: function(LookupFactory){
return LookupFactory.getLookupsByType('beverageBrand')
}
flavors: function(LookupFactory){
return LookupFactory.getLookupsByType('beverageFlavor')
}
}
}
这不起作用,但是我能做些什么来完成我想要完成的事情?
基本上,我不想为控制器中的每个查找注入一百万个不同的依赖项。如果我可以将解析包解压缩到命名空间中,那么我可以只注入一个命名空间。