【发布时间】:2015-10-07 19:39:39
【问题描述】:
我正在重构我的所有代码以实现本文Scaling Angular Apps 中所述的顶级指令,但我不确定如何访问我解析的值:
$stateProvider
.state('login', {
url : '/login',
template : '<sr-login-view></sr-login-view>'
})
.state('main', {
url : '/main',
template : '<sr-main-view></sr-main-view>',
resolve : {
directiveConfig : function (Directives) {
return Directives.getConfig('mainScreen');
}
}
});
指令:
angular.module('ElectronClient')
.directive('srMainView', function (directiveConfig //doesn't work) {
return {
restrict : 'E',
require : 'srMainScreen',
scope : {},
templateUrl : 'source/app/directives/main/main_view.html',
controller : function ($scope, directiveConfig //doesn't work) {
//code
},
link : {
post : function (scope, element, attributes, mainViewController) {
}
}
}
});
有解决办法吗?拥有“顶级”指令的全部意义在于不在状态中定义控制器,但似乎解析参数仅传递给附加到该状态的控制器
【问题讨论】:
-
在
main状态下添加控制器,然后将解析directiveConfig传递给指令隔离范围。 -
我试图找到任何其他方式
-
但我想我不得不求助于那个......:p
-
Directives.getConfig 是什么样的?
-
什么意思?它返回一个承诺。如果解析:解析的数据是一个json objetc
标签: angularjs angularjs-directive angular-ui-router