角度无法访问根范围
问题描述:
我试图创建一个初始化函数,当我登记我的角度应用:角度无法访问根范围
//Register main app
var fertiliserCaculator = angular.module('fertiliserCalculator',['$rootScope',function($rootScope) {
console.log($rootScope)
}]);
这将返回$injector:modulerr
,什么是定义一个控制器型功能的正确方法主要的应用程序名称空间?
答
你的语法错了。
- 创建模块:
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>
答
试试,它运行的功能是被称为是第一个运行时函数角度应用程序启动
//Register main app
var fertiliserCaculator = angular.module('fertiliserCalculator',[]);
fetiliserCalculator.run(['$rootScope',function($rootScope) {
console.log($rootScope)
}]);
答
根据文档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-控制器添加到您的HTML
<div ng-controller="fooCtrl">
{{ foo | greet }}
</div>
我为你plunker基础上AngularJS doc
当我添加这个时,我得到'fetiliserCalculator未定义'? – 2014-10-22 10:26:10