2017-11-11 7 views
0

私はので、私はアプリを渡ってそれを使用することができますrootScopeに必要scope値を持っている、と私は、私は私のインデックスファイルに{{car}}にアクセスしていますが、その私に罰金であるホンダを与える

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

のようにそれをやりました。

$ scope.car値にアクセスすることができないので、私が必要とするのは$rootScope.car$scope.carと同じ値です。

$scope.carに同じ値が必要な理由は、長いコードの後に​​json構文解析から動的に来て、rootscopeに入るサービス値を再度サービスに書き込むことは良い方法ではありません。

他の方法では、同じコントローラー機能で、$rootScopeと同じようにグローバルに使用できる$scopeがありますか?

その他のオプションはありますか?

ありがとうございました。

答えて

0

すべてのアプリケーションに単一のルートスコープがあるため、コントローラには$ rootScopeを使用できます。コントローラに$ scope.carを持つ必要はありません。コントローラにも$ rootscope.carを使用することができます。

あなたは、あなたが一番上のrootscopeどこに子コントローラ内の変数にアクセスすることができ

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

この方法を使用することができますあなたの子供のコントローラ

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

からと親コントローラにイベントをブロードキャストすることができます

0

eventnameは、ブロードキャストしたいイベントです。

関連する問題