繁体   English   中英

我可以在$ rootScope中拥有$ scope值吗?

[英]Can I have $scope value in $rootScope?

我在rootScope具有所需的scope值,因此可以在应用程序中使用它,所以我做到了

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

我正在访问索引文件中的{{car}} ,它给了我本田,这很好。

我需要的是$rootScope.car$scope.car相同值才能全局访问它,因为我将无法访问$ scope.car值。

我想要相同值的原因是在$scope.car ,我将得到我的服务值,该值是在长代码后从json解析动态产生的,并进入rootscope ,再次编写服务不是一个好习惯。

任何其他方式,在同一控制器函数中,我可以像可以使用global的$scope一样拥有$rootScope

还是其他选择?

谢谢。

在控制器中,可以使用$ rootScope,因为每个应用程序都有一个根范围。 您不必在控制器中包含$ scope.car,也可以在控制器中使用$ rootscope.car。

您可以从子控制器广播事件

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

在父控制器中,您可以使用

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

这样,您可以在子控制器中访问最顶层rootscope的变量,其中eventname是要广播的任何事件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM