我对 AngularJS 还是很陌生,并且正在设置我的第一个应用程序。我希望能够做到以下几点:
angular.module('App.controllers', [])
.controller('home', function () {
$scope.property = true;
}]);
angular.module('App', ['App.controllers'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {templateUrl: 'partials/home.html', controller: home});
}]);
使用此设置会生成以下错误:
Uncaught ReferenceError: home is not defined from App
我的问题是:如何使用angular.module.controller()
(或$controllerProvider.register()
直接)注册控制器并在我的应用程序的其他地方使用注册的控制器。
我的动机:我想避免使用全局构造函数作为我的控制器(如 angularjs.org 上的大多数示例使用)或复杂的命名空间。如果我可以将控制器注册和使用为单个变量名(然后不放在全局范围内),那将是理想的。