我正在尝试创建一个init函数,当我注册我的角度应用程序时:
//Register main app
var fertiliserCaculator = angular.module('fertiliserCalculator',['$rootScope',function($rootScope) {
console.log($rootScope)
}]);
这会返回$injector:modulerr
,为主App名称空间定义控制器类型函数的正确方法是什么?
答案 0 :(得分:0)
你的语法错了。
var fertiliserCaculator = angular.module('fertiliserCalculator', []);
fertiliserCaculator.controller('fertiliserCaculatorController', function($scope, $rootScope){
console.log($rootScope);
$scope.foo = 'Yolo!';
});
在简单的应用中使用您的控制器:
<body ng-app="fertiliserCalculator">
<div ng-controller="fertiliserCaculatorController">{{$scope.foo}}</div>
</body>
答案 1 :(得分:0)
尝试一下,运行函数是第一个被称为角度应用启动的运行时函数
//Register main app
var fertiliserCaculator = angular.module('fertiliserCalculator',[]);
fetiliserCalculator.run(['$rootScope',function($rootScope) {
console.log($rootScope)
}]);
答案 2 :(得分:0)
根据文档guide/module,模块方法不是将函数作为第二个参数而是模块列表。
您必须在此模块中创建一个控制器(如guide/controller):
// declare a module
var calculatorApp = angular.module('fertiliserCalculator', []);
calculatorApp.filter('greet', function() {
return function(name) {
return 'Hello, ' + name + '!';
};
});
calculatorApp.controller('fooCtrl', ['$scope',function($scope) {
$scope.foo = 'youhou';
}]);
不要忘记将ng-controller添加到你的HTML
<div ng-controller="fooCtrl">
{{ foo | greet }}
</div>
我根据AngularJS doc
为你做了plunker