2014-10-22 71 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