0
我想在我的$资源Venue对象中使用$ scope.lat和$ scope.lng,以便REST通信将始终位于某个位置的上下文中。如果它们被传递在$ rootScope他们在HenriettaCtrl定义之前,我不能告诉,或者如果他们甚至传递在所有:
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
]
可能的最好创建一个'service'创建了'position'对象,然后可以传递给您的'Venue服务'和'控制器'都作为依赖项 – charlietfl 2013-03-10 21:39:59