這裏是我的問題中延伸控制器:我想運行controllerB的代碼到controllerA。問題是,當變量返回給controllerA時,請求中的值永遠不會返回。這裏有一個plunker顯示問題:http://plnkr.co/edit/GqC9BOKTi8HxQLf2a2yd?p=previewAngularJS控制器
var test = $scope.$new();
$controller('Ctrl1', {$scope : test});
//the first 2 lines are executed, but the 3d never returns a value
$scope.variable = test.variable;
$scope.varFromFunction = test.varFromFunction();
$scope.varFromRequest = test.varFromRequest;
第2行中執行,但3D一個從來沒有返回一個值。
使用服務在控制器之間進行通信或共享代碼,例如http://jsfiddle.net/simpulton/xqdxg/。我不確定$控制器是否用於應用程序,可能僅用於測試。 – martinczerwi
這可能是危險和誤導。在你的plunker中你有兩個'Ctrl1'的實例。如果它是爲了在兩個控制器之間共享信息,那麼這將不起作用。對於這種情況,最好使用_service_。 – Michael