2017-11-11 98 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是您想要广播的任何活动

相关问题