我對AngularJS仍然很新,並且正在設置我的第一個應用程序。我想能夠做到以下幾點:使用AngularJS控制器創建與angular.module()。控制器()
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
我的問題是:我如何註冊(直接或$controllerProvider.register()
)使用angular.module.controller()
控制器並在我的應用的其他地方使用註冊的控制器。
我的動機:我想避免使用全局構造函數作爲我的控制器(如angularjs.org使用的大多數示例)或複雜的命名空間。如果我可以註冊並使用控制器作爲單個變量名稱(不在全局範圍內),那將是理想的。
謝謝,這確實起作用。很簡單。 –
上述解決方案似乎不工作......我得到「錯誤:參數'PhoneListCtrl'不是一個函數,得到字符串」。幫幫我! – mpowered
如果將控制器定義爲函數(函數PhoneListCtrl(){}'),則必須將其作爲函數來引用。如果使用.controller('app.controller('PhoneListCtrl',function(){})'定義它,則應該將其引用爲字符串。 –