簡體   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