我可以在$ rootScope中拥有$ scope值吗?
问题描述:
我有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
,我可以使用全球?
或其他选项?
谢谢。
答
在您的控制器中,您可以使用$ rootScope,因为每个应用程序都有一个根作用域。您不必在控制器中拥有$ scope.car,您也可以在控制器中使用$ rootscope.car。
答
您可以从您的孩子控制器
$rootScope.$emit('eventname',obj)
,并在父控制器广播事件时,可以使用
$rootScope.$on('eventname',function(event,data){
console.log(data)
})
这种方式,您可以访问子控制器中的变量到最rootscope哪里eventname是您想要广播的任何活动