У меня есть ссылки действий на странице, которые меняют части модели. В ссылках есть функции ng-click, которые запускают действие сервера, которое возвращает часть модели, которая была изменена. Я присваиваю результат $ http.get (...) части измененной модели. Но данные никогда не разрешаются.AngularJS как изменить часть модели
GuideControllers.controller('VideoDetailCtrl', ['$scope', '$http', '$routeParams', 'Video',
function($scope, $http, $routeParams, Video, Preference) {
$scope.video = Video.get({ id: $routeParams.id });
$scope.addToWatchlist = function(id) {
$scope.video.prefs = $http.get('/api/preference/'+id+'/add_to_watchlist.json')
}
}
]);
Первый Video.get (...) заполняет в модели с обещанием, что в конечном итоге изменяет страницу, то video.prefs правильно, когда решены. Но когда я получаю видео.prefs отдельно, они никогда не решаются. Я попытался сохранить обещание $ http.get в отдельной переменной, а затем в $ http.get (...). Success (... Я скопировал части из переменной в videos.prefs, но это не сработало с тех пор временный секретарь жизнеспособный был обещанием - я думаю
Как я должен изменить часть модели, задавая сервер только для этого бита
Вам нужно.? '.success' после' .get', иначе он не будет разрешен, если вы этого не сделаете позже. – tymeJV
Как вы получаете доступ к '$ scope.video.prefs'? Это привязка HTML? –
tymeJV: I попытался присвоить t он предпочитает функцию .success, но это не сработало. Отладчик сказал, что префы были обещанием, я не мог видеть, что там есть ценности. CaioToOn: пример ng-class = "{iconSelected: video.prefs.user_watchlist == 0}" или в теге контента