간단한 앱을 만들어 AngularJS를 배우기로 결심했습니다.무기한으로 호출되는 ngResource 메소드가있는 컨트롤러
서버 측 응용 프로그램이 ExpressJs로 구축,하지만 자원 (/영화/: ID가) 아래에 사용된다 (찾을 수 없음) 그래서 (404)가 발생합니다이 URL을 가리키는 아직 구현되지 않은 오류 . 따라서 '/'만 사용하면됩니다.
var app = angular.module("app", ["ngResource"]);
app.factory("Movie", function ($resource) {
return $resource("/movie/:id");
})
app.controller("MovieCtrl", function($scope, Movie) {
$scope.test = function() {
Movie.query();
return 42;
}
});
그리고 내 템플릿 파일 :
가 나는 $ 자원 난이 간단한 테스트를 만든 그렇게 행동하는 방법을보고 싶어<div ng-app="app">
<div ng-controller="MovieCtrl">
{{ test() }}
</div>
</div>
템플릿을 렌더링하고 예상대로를 '42'이다 제대로 표시되었지만 Chrome 개발자 도구에서 콘솔을 보면 다음과 같은 오류가 계속 표시됩니다 (또한 예상대로). 다음과 같은 오류가 표시됩니다 (예상과 마찬가지로).
GET http://localhost/movie 404 (Not Found)
그러나이 메시지는 무한정 인쇄되어 절대적으로 실패한 후에도 내 영화 리소스가 /영화에 도달하는 것처럼 계속을 멈추지 않습니다.
미리 감사드립니다.
인가 더티 검사 리턴 된 시험 방법의 결과가 변경되지 않았는지 수행? 그렇다면 Movie.query()는이 결과를 변경하지 않습니다. –
예,'Movie.query()'는'test()'가 변경되었는지 검사하는'$ scope. $ apply()'(데이터가 서버에서 돌아올 때)를 트리거합니다. 이 검사 중에'test()'는'scope. $ apply()'를 다시 트리거하는 또 다른'Movie.query()'를 트리거합니다. – g00fy