3
저는 처음으로 각도 1.2.18로 작업하고 있습니다. 레일 3.2와 coffeescript로 사용하고 있습니다. 서비스에서 약속을 사용하여 템플릿을 채우기 위해 사용할 데이터를 가져 오려고합니다. 내 코드는 다음과 같습니다.서비스에서 각성 약속의 응답 문제
angular.module('myApp')
.service('fetchService', ['$http', '$q', ($http, $q) ->
theService = {}
theService.myData = null
theService.getData = (url) ->
q = $q.defer()
if this.myData
q.resolve(this.myData)
return q.promise
self = this
$http.get(url).then(
(successResonse)->
self.myData = successResponse
q.resolve(successResponse)
,(errorResponse)->
self.myData = errorResponse
q.reject(errorResponse)
)
return q.promise
return theService
])
.directive('myDirective', ["fetchService", fetchService)->
return {
restrict: "A"
templateUrl: "/my_template_url"
scope:
url: '@shopUrl'
offset: '@'
controller: ($scope, fetchService)->
fetchService.getData($scope.url).success((data) ->
$scope.content = data.content
)
}
])
이 작업을 시도하면 "정의되지 않은 함수가됩니다."라는 유용한 스택 추적이 없습니다. 어떤 부분이 정의되지 않았는지 확실하지 않습니다. 나는 config()에서 이것을 수행하는 것에 대해 생각해 왔지만, 런타임까지 $ http.get (url)의 url이 무엇인지 알지 못한다. "각도 방식"을하는 데 도움이나 조언을 주시면 감사하겠습니다.