2017-11-11 126 views
0

我有scope價值,我需要在rootScope所以我可以在應用程序中使用它,所以我也像

var app = angular.module('myApp', []); 
    app.run(function($rootScope) { 
    $rootScope.car= 'honda'; 
}); 
app.controller('myCtrl', function($scope) { 
    $scope.car= "suzuki"; 
}); 

我在我的索引文件訪問{{car}}和其給我的本田,這是罰款。

我需要的是相同的值$scope.car$rootScope.car來訪問它的全局,因爲我不會能夠訪問$ scope.car的價值。

我想要相同的價值的原因是在$scope.car,我將有我的服務價值,它是從長期代碼動態來自json解析和得到在rootscope,再次寫入服務不是一個好的做法。

任何其他方式,即在相同的控制器功能,我可以有$rootScope就像$scope,我可以使用全球?

或其他選項?

謝謝。

回答

0

在您的控制器中,您可以使用$ rootScope,因爲每個應用程序都有一個根作用域。您不必在控制器中擁有$ scope.car,您也可以在控制器中使用$ rootscope.car。

0

您可以從您的孩子控制器

$rootScope.$emit('eventname',obj) 

,並在父控制器廣播事件時,可以使用

$rootScope.$on('eventname',function(event,data){ 
    console.log(data) 
    }) 

這種方式,您可以訪問子控制器中的變量到最rootscope哪裏eventname是您想要廣播的任何活動

相關問題