AngularJS应用程序/模块可以包含来自其他应用程序/模块的控制器吗?

时间:2015-04-22 20:19:56

标签: angularjs

我可以创建一个用于身份验证的模块,然后从另一个应用程序/模块中的视图绑定到其控制器吗?例如,创建一个常见的LoginController,然后在我的其他应用程序中使用该控制器的登录页面?如果是这样,怎么样?我找不到任何例子,但文档让我觉得这是可能的。

2 个答案:

答案 0 :(得分:1)

是的,只要您将脚本/模块加载并设置为用于ng-app的应用程序的依赖关系或手动引导应用程序,您就可以使用这些模块中定义的任何控制器/提供程序。

angular.module('A',['B']);
angular.module('B', []).controller('MyController',function($scope){ $scope.doSomething = function(){alert('did something')}});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>

<div ng-app="A">
  <div ng-controller="MyController">
    <button ng-click="doSomething()">Do Something</button>
  </div>
</div>

答案 1 :(得分:1)

您可以通过多个模块分离代码。

基本上你可以为LoginController创建一个单独的模块,比如

angular.module('authentication',[]) .controller('LoginController', function($scope){ //code here });

然后你应该添加这个模块的主app模块

angular.module('app',['authentication']

然后你可以将这个app模块用作ng-app,或者你可以使用相同的模块。