我有一个需要在多个ng-app范围内访问的通用控制器
例如:
function commonCtrl($scope){
$scope.data = { message: "Hello World" };
}
<div ng-app="firstApp">
<div ng-controller="commonCtrl">
<h1>{{data.message}}</h1>
</div>
</div>
<div ng-app="secondApp">
<div ng-controller="commonCtrl">
<h1>{{data.message}}</h1>
</div>
</div>
这不起作用。我可以将范围设置为一个ng-app,如
angular.module('firstApp', [])
但是如何将控制器作为所有ng-app的通用控制器?
答案 0 :(得分:7)
创建第3个模块并在该模块中定义控制器。请参考您创建的两个ngApp模块中的新模块。此外,必须使用模块控制器方法定义控制器。
var sharedModule=angular.module('shared',[]);
sharedModule.controller('commonCtrl',['$scope',function($scope) {
}]);
然后使用
angular.module('firstApp', ['shared']);
angular.module('secondApp', ['shared']);