2014-01-28 43 views
0

我正在製作一個手動引導我的角度應用程序並使用文檔作爲根的插件。如果不使用ng控制器,我怎樣才能簡單地將一個控制器連接到我的根,以便它本身就像一個全局控制器?我有這樣的想法:如何在沒有指令的情況下將控制器連接到rootDocument?

var myCtrl = function($scope) { 
    // Typical controller code 
}; 

var app = angular.module('app',[]). 
config(['$controlProvider',function($controlProvider) 
{ 
    // Attaches the controller to the rootScope/ document 
    $controlProvider.register('myCtrl',['$scope',myCtrl]); 
}]); 

angular.bootstrap(document,['app']); 

有一件事可能出現在答案是提到$ scope.keys = {...}。請向我解釋那是什麼,如果它與答案有關。

回答

0

您可以創建一個全局控制器,並且該全局控制器未在任何模塊中註冊,因此它將具有根的範圍。

function mycontroller($scope){ 
---Your controller code goes here--- 
} 
+0

我將如何注入像$ scope這樣的服務?我不需要註冊角? –

+0

請參閱注入$ scope或任何類似您不需要任何應用程序的服務。在使用控制器功能之前,您只需要在任何時候使用ng-app。 –

1

只是好奇爲什麼你會在這種情況下使用$provider
簡單地分配$rootScope到控制器的$scoperun塊這樣的: http://docs.angularjs.org/api/ng.$controller

var ctrl = function($scope) { 
    $scope.HelloWorld = "Hello World"; 
}; 

var app = angular.module('app',[]) 
.run(['$rootScope', '$controller', function($rootScope, $controller){ 
    var myCtrl = $controller(ctrl, {$scope: $rootScope}); 
}]); 

angular.bootstrap(document,['app']); 

http://jsfiddle.net/10thfloor/Zaeny/1/ < - 工作小提琴。

+0

你能否爲了澄清而添加html部分?謝謝 – Kath

相關問題