我有两个不同的模块,第一个包含控制器第二个指令。
基本上我希望在directive
中呈现view
。
但由于modules
和directive
的{{1}}不同,因此会给出错误。
如果我给同一个controller
,那么我想要一个为所有控制器提供服务的通用模块来解决我的问题。
module
controller
angular.module('SlamModuleCtrl')
.controller('SlambookExt',['$scope','$route','SlambookCollection', function($scope,$route) {
console.log("slam controller")
}]);
Directive
angular.module('Genericmodule')
.directive('appVersion', ['version', function (version) {
return {
restrict: 'E',
template: '<h1>version1</h1>'
}
}])
View
答案 0 :(得分:4)
在实例化$('#uSPStyle > li:eq(' + vFirst + ') ul li').length;
时,您需要将slamModuleCtrl
指定为依赖项。
或者使用父模块将这两个模块作为依赖项加载,并将该父模块用作genericModule
。
ng-app
这只是一个合理的解决方案,因为您的模块对我来说都是正确的。所以我猜测版本没有显示,因为模块还没有加载
答案 1 :(得分:1)
Chanthu是正确的,您需要指定一个父模块,该模块依赖于您的其他模块,但您也为其他模块传递了一系列依赖项,在这种情况下它们没有任何模块。
声明你的模块并将它们添加到父模块中,如此...
var controllerModule = angular.module('controllerModule', []);
var directiveModule = angular.module('directiveModule', []);
controllerModule.controller('mainController', function($scope) {
$scope.hello = 'Hello';
})
directiveModule.directive('myDirective', function() {
return {
template: '{{hello}}'
};
});
angular.module('app', ['controllerModule', 'directiveModule']);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<body ng-app="app" ng-controller="mainController">
<my-directive></my-directive>
</body>
代码段显示另一个模块指令,并使用另一个模块控制器的绑定