2016-03-24 14 views
0

私は、フォームフィールドがMongoDBからのデータ戻りに基づいて塗りつぶされるAngularアプリケーションを作成しています。これを行うには、オブジェクトに返されたデータを取得し、$ scopeに個別に割り当てます。以下のように。

//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-modelを使用してフォームフィールドにそのデータを表示します。

<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]; 
関連する問題