2013-12-06 2 views
0

Я оглядывался и все еще смущен. Я вижу, что услуга, похоже, путь. Но, в частности, как мне настроить службу для хранения данных из представления формы, а затем как повторно получить доступ к этим данным из нового представления?Как обмениваться данными формы с другим видом в AngularJS?

Приложение, над которым я работаю, находится здесь http://numerology.andrewgolightly.com Нажатие кнопки submit должно отображать некоторые данные формы в новом представлении.

ответ

1

Поскольку вы сохраняете данные своей формы до clientInfo объекта. Вам просто нужно сохранить свою ссылку в службе или в $ rootScope, а затем снова привязать объект к тому, что вы хотите показать.

angular.module("numerologyApp").factory('clientInfoStore', function() { 
    var info; 
    return { 
     save: function(clientInfo) { 
      //save the client info 
      info = clientInfo; 
     }, 
     get: function() { 
      // return the client info 
      retun info; 
     } 
    }; 
}); 

Внесите эту службу в контроллер, где вы хотите сохранить и где хотите получить.

+0

Ok спасибо. Я создал службу и подключил ее, отредактировав app.js и controllers.js. Как я могу фактически выполнить сохранение и возврат объекта clientInfo в services.js? – magician11

+0

См. Мой обновленный ответ. Вы сохраняете его в переменной js. – Chandermani

0

Вы можете сделать это следующим образом:

angular.module('numerologyApp').service('clientInfo', function() { 
    this.fullName = ''; 
    this.birthDate = 0; 
    this.birthMonth = ''; 
    this.birthYear = 0; 
}); 

angular.module('numerologyApp').controller('ClientInfoCtrl', function($scope, clientInfo) { 
    // double-bind clientInfo object with form-fields of this controller 
    $scope.clientInfo = clientInfo; 
}); 

angular.module('numerologyApp').controller('LifepathCtrl', function(clientInfo) { 
    console.log(clientInfo.fullName); // content of the full name input 
}); 
Смежные вопросы