2013-03-10 3 views
0

내 $ resource Venue 개체에 $ scope.lat 및 $ scope.lng를 사용하려고하므로 REST 통신은 항상 위치의 컨텍스트에있게됩니다. 그들은 HenriettaCtrl에 정의하기 전에 그들이 $ rootScope에서 전달되고 있는지 어떻게 알 수 없다거나 심지어 전혀에서 전달되는 경우 :

henriettaApp = angular.module('henriettaApp', ["ngResource"]) 

henriettaApp.factory "Venue", ["$resource", "$rootScope", ($resource, $rootScope) -> 
    console.log($rootScope.lat) 
    console.log($rootScope.lng) 
    $resource("/venuesNear/:id",{lat:$rootScope.lat,lng:$rootScope.lng,id:"@id"}, {update: {method:"PUT"}}) 
] 

@HenriettaCtrl = ["$scope", "Venue", ($scope, Venue) -> 
    saveLocation = (position) -> 
    $scope.lat = position.coords.latitude 
    $scope.lng = position.coords.longitude 
    console.log($scope.lat) 
    $scope.streams = Venue.query() 
    navigator.geolocation.getCurrentPosition saveLocation 
] 
+0

최고 'Venue 서비스'와'컨트롤러'를 의존성으로 – charlietfl

답변

0

$ rootScope은 $ 범위까지 전파되지만, 속성 설정 on $ scope는 $ rootScope까지 전파되지 않습니다.

당신은이 질문에 대한 허용 대답처럼, 당신이 원하는 결과를 얻기 위해 이벤트를 사용해야 할 수도 있습니다 : 당신이 다음에 전달할 수있는`position` 객체를 생성하는`service`을 만들 AngularJS multiple uses of Controller and rootScope

가능성
관련 문제