2015-07-07 5 views
1

У меня есть приложение AngularJS, которое динамически создается.Как я могу сохранить свои входные данные при переходе на другие маршруты на AngularJS?

Из-за этого он может иметь нормальный <form> с кнопкой отправки, но внутри него может быть ссылка на другую, и еще одну и так далее.

Я уже сделал, чтобы правильно представить данные независимо от того, насколько глубоко в этой «форме-сети» находится пользователь, но проблема в том, что пользователь может не заполнить их в «правильном порядке», а пользователь свободно это делать.

Например, он/она может начать заполнять FORM A, а затем понял, что есть FORM B внутри него, перейти на другой путь, заполнения и подачи FORM B и при возвращении и FORM A он будет пустым.

Итак, я хочу предварительно сохранить все входные данные, которые пользователь заполнил. Я просто хочу какой-то кеш любого ввода, который может дать пользователь, поэтому пользователь может свободно перемещаться из одной формы в другую без обязательного представления.

+0

Может использовать либо сервис/фабрику, либо LocalStorage, если вам нужно упорствовать в сеансах. – reptilicus

+0

Я фактически просто просматривал LocalStorage –

ответ

1

Вы можете попробовать использовать Angular service и ввести его в качестве зависимости во всех контроллерах, которые используют формы. Затем вы привязывали данные к этой службе, а не к контроллеру. Поскольку служба является одноэлементной, она будет создана только один раз и не будет воссоздана по мере того, как пользователь перемещается по всему вашему приложению. Значения привязанных данных будут сохраняться до тех пор, пока вы их не измените, а пользователь останется в приложении.

Услуга может выглядеть примерно так:

app.service('MyService', function() { 
    return { 
    form1Data: {}, 
    form2Data: {}, 
    form3Data: {} 
    }; 
}); 

А затем привязать к правильному formNData поле вашего зрения слоя. Если число форм также становится динамическим, вы можете добавить блок конфигурации в свое приложение с угловым выражением, которое указывает, сколько из этих объектов данных form вам понадобится, и использовать его внутри функции service.

+0

Кажется довольно простым, я попробую это. –

Смежные вопросы