У меня есть очень простой ресурс следующим образом:
angular.module('ExampleServices', ['ngResource']).
factory('NoteService', function($q, $rootScope, $resource){
var baseurl = "/api/v1/note/";
var Note = $resource(baseurl, {}, {
// get notes method
get_for_model: {
method: 'GET',
params:{user: '', object_id: ''},
isArray: false
},
// leave note method
leave_note: {
method: 'POST',
}
});
return Note
}
);
И в контроллере я вызвать метод leave_note
следующим образом:
$scope.note = function(){
$scope.note = NoteService.leave_note({
desc: desc,
title: title,
object_id: oid,
});
}
В основном это вызывает метод POST к API приложений API приложений и созданным объектам. Как только страница обновится, я вижу заметку, указанную в notes
. Но, насколько мне известно, $resource
должен обновить представление самостоятельно.
Цитата из docs
Важно понимать, что вызов метода объекта $ ресурса немедленно возвращает пустую ссылку (объект или массив в зависимости от IsArray). Как только данные возвращаются с сервера, существующая ссылка заполняется фактическими данными.
Я не в состоянии использовать $rootScope.$apply
в методе leave_note
, пока я не определить его как функцию (следующим образом :)
leave_note: function(){
var note = New Note();
note.desc = desc;
note.title = title;
note.object_id = oid;
note.$save();
$rootScope.$apply();
}
, но и в предыдущем случае вызов отправить к REST API имеет undefined
способ запроса.
Другая проблема, о которой я могу думать, заключается в том, что у меня нет $scope.note
, но есть $scope.notes
, который является списком заметок, отправленных REST api. Так что, возможно, $scope.note
обновляется, но поскольку я не отрисовка объекта note
, но визуализация notes
с использованием ng-repeat
в шаблонах, я не могу видеть изменения в шаблоне.
Я также попытался повторно извлечь объект заметок после сохранения новой заметки, но в основном удаляет все заметки, а затем повторно отображает все, что выглядит уродливым (почти как обновление страницы).
То, что я пытаюсь достичь, сразу после сохранения объекта note
, я хочу, чтобы новое примечание было объединено с существующими заметками. Пожалуйста, направляйте меня. Спасибо
downvoter? Пожалуйста, объясните свое нижестоящее. – Amyth