2014-10-22 81 views
0

我试图创建一个初始化函数,当我登记我的角度应用:角度无法访问根范围

//Register main app 
var fertiliserCaculator = angular.module('fertiliserCalculator',['$rootScope',function($rootScope) { 

console.log($rootScope) 
}]); 

这将返回$injector:modulerr,什么是定义一个控制器型功能的正确方法主要的应用程序名称空间?

回答

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>

0

试试,它运行的功能是被称为是第一个运行时函数角度应用程序启动

//Register main app 
var fertiliserCaculator = angular.module('fertiliserCalculator',[]); 

fetiliserCalculator.run(['$rootScope',function($rootScope) { 
    console.log($rootScope) 
}]); 
+0

当我添加这个时,我得到'fetiliserCalculator未定义'? – 2014-10-22 10:26:10

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-控制器添加到您的HTML

<div ng-controller="fooCtrl"> 
     {{ foo | greet }} 
    </div> 

我为你plunker基础上AngularJS doc