2016-11-17 12 views
0

私のcommonserviceにデータがあり、私のテンプレートでデータを使用したいのですが、私はrootscopeを割り当てて使用しますが、今は動作しておらず、何が間違っているのか分かりません誰でも助けを提案できますか?angularjsでrootScopeを使用する方法

マイJS:

function addGoogleAddress(id, data, scope) { 
    var places = new google.maps.places.Autocomplete(document.getElementById(id)); 
    google.maps.event.addListener(places, 'place_changed', function() { 
     var place = places.getPlace(); 
     if (place && place.address_components) { 
      for (var i = 0; i < (place.address_components.length); i++) { 
       if (place.address_components[i].types[0] === 'locality') { 
        data.city.key = '1001'; 
        data.city.name = place.address_components[i].long_name.toString(); 
       } else if (place.address_components[i].types[0] === 'administrative_area_level_1') { 
        data.state.key = '1001'; 
        data.state.name = place.address_components[i].long_name.toString(); 
       } else if (place.address_components[i].types[0] === 'country') { 
        data.country.key = '1001'; 
        data.country.name = place.address_components[i].long_name.toString(); 
       } 
      } 
     } 
    }); 
    $timeout(function() { 
     $('#' + id).removeAttr('placeholder'); 
    }, 500); 
    $rootScope.data = data; 
} 

マイコントローラ:

console.log($rootScope.data) 

ここで私は、未定義取得しています。

答えて

2

あなたが直接データを放送することができない、あなたがイベントをブロードキャストして、次のようにパラメータを渡す必要があり、

注:私はあなたが以下のようなコントローラに次に依存

$rootScope.$broadcast('eventName',data); 

を注入している、ここで想定しています -

$scope.$on('eventName',function(event,data){ 
console.log('data---',data); 
}) 
+0

こんにちはMr.Helper、どのように私は私の見解では、このデータを使用できますか?それは目で十分ですng-model = data.city.nameか、関数を呼び出す必要があります。 – MMR

+0

このデータは直接使用することはできません。データをng-modal に割り当てる必要があります。 $ scope.modalName = data; –

+0

この関数を$ scope($ event_name、function(event、data)){ console.log( 'data ---'、data); }}と呼びますか? – MMR

0
app.controller('ctrl1',['$scope','$rootScope',function($scope,$rootScope) { 
    $scope.xyz = $rootScope.xyz; 
    //console.log($scope.xyz); hey 
}]); 

app.run(function($rootScope){ 
    $rootScope.xyz ="hey"; 
}) 
関連する問題