나는 지속적인 데이터를 $cookieStore
에 저장하고 서비스에 캡슐화하여 쿠키에 대한 인터페이스가 실제로 기억되는 것을 피할 수 있습니다. 예를 들면 다음과 같습니다.
var app = angular.module('app', [
'ngRoute',
'ngCookies'
]);
app.service('ticketService', function ($cookieStore) {
this.getTicket = function() {
var ticket = $cookieStore.get('currentTicket');
// Check server for ticket? (additional business logic)
return ticket;
};
this.setTicket = function (ticket) {
// Validate correct ticket? (additional business logic)
$cookieStore.set('currentTicket', ticket);
};
});
app.controller('ticketController', function ($scope, ticketService) {
var defaultTicket = {
name: '',
description: ''
};
$scope.ticket = ticketService.getTicket() || defaultTicket;
$scope.$watch('ticket', function (oldValue, newValue) {
if (oldValue === newValue) { return; }
ticketService.setTicket(newValue);
});
});
가능한 경우 : 컨트롤러가 상태를 URL로 복원하는 데 필요한 모든 것을 포함하십시오. – TheHippo
부분적으로 완성 된 양식 및 AJAX 호출에서 반환 된 데이터를 다루므로이 경우 URL을 사용하면 실용적이지 않습니다. – Tamlyn
서비스를 사용하는 것을 꺼리는 이유는 무엇입니까? –