2016-03-24 3 views
0

Я создаю Угловое приложение, в котором поля формы заполняются на основе данных, возвращаемых из MongoDB. Для этого знаю, что я беру данные, которые возвращаются в объект, и назначая его отдельно для области $. Как показано ниже.

//Keep fields filled in for current session 
    $scope.fill = function(id){ 
     var cookie = $cookies.get('sessionID');  
     $http.get('/data/cookie/' + cookie).success(function(data) { 

     $scope.personal = {name: data[0].name, address: data[0].address, phone: data[0].phone, city: data[0].city, state: data[0].state, zip: data[0].zip, email: data[0].email, marital: data[0].marital, ssn: data[0].ssn, dob: data[0].dob}; 

     $scope.income = {occupation: data[0].income[0].occupation, salary: data[0].income[0].salary, employer_phone: data[0].income[0].employer_phone, date_employeed: data[0].income[0].date_employeed}; 

     $scope.updated = ''; 


    }); 

    } 

Затем я отображаю эти данные в поле формы, используя ng-модель, как показано ниже.

<div ng-init="fill()" class="rightsec"> 
<div><p>Occupation</p><input class="long" type="text" ng-model="income.occupation" placeholder="Occupation"/></div> 
<div><p>Salary</p><input class="medium" ng-model="income.salary" type="text" placeholder="Salary"/></div> 
<div><p>Employer Phone</p><input class="medium" ng-model="income.employer_phone" type="text" placeholder="Employer Phone"/></div> 
<div><p>Date Employed</p><input class="medium" type="text" ng-model="income.date_employeed" placeholder="Date Employed"/></div> 
</div> 

Все работает должным образом, но мне интересно, есть ли лучший способ присвоить данные области? У меня еще несколько полей, и я думаю, что это плохая практика.

+0

Могу ли я получить представление о структуре ваших данных ответа? – Germando

ответ

0

Основываясь на структуре моих данных, я смог упростить и просто сделать это.

 $scope.personal = data[0]; 

     $scope.income = data[0].income[0];