1

私はコントローラの配列を使用して名前のリストを保存しています。ただし、ユーザーがクリックした会社によっては、ページが読み込まれた後にそのリストが何度も変更されることは明らかです。コントローラから角度UI-Bootstrapアコーディオンを動的にロード

私はリストを配列にロードするコントローラメソッドを持っています。この配列は、アコーディオンの複数の項目のソースとしてバインドされています。<li>

これらの項目は、ページが読み込まれたときに表示される場合は正常に表示されます。しかし、配列に格納されたデータの変更を反映するためにリストを取得することはできません。配列データが変更されたときにどのようにアコーディオンの<li>アイテムを変更するのですか?

ビュー

<uib-accordion close-others="oneAtATime"> 
    <uib-accordion-group is-open="status.open"> 
     <uib-accordion-heading> 
      Users <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i> 
     </uib-accordion-heading> 
     <ul> 
      <li ng-repeat="group in userList">{{group}}</li> 
     </ul> 
    </uib-accordion-group> 
    </uib-accordion> 

コントローラ

scope.userList = null; 

var loadFirmUsersSuccess = function(data){ 
    scope.userList = $.map(data.data.data[0].theList, function(item){ 
     return item.billFirst + ' ' + item.billLast; 
    }); 
}; 
+0

loadFirmUsersSuccess()がscope.userListを正しく更新していますか?私はちょうどうまく動作するクイックplunk(https://plnkr.co/edit/FlsChWci1m5axYXCI3Co?p=preview)を作成しました。 – jbrown

+1

また、loadFirmUsersSuccess()はどのように呼び出されていますか?コントローラのコードをもっと共有してください。 – jbrown

+0

これはデータの問題のようです。ありがとうございます。 – NealR

答えて

0

I上記のコメントのおかげで、私は間違ってreturn文を書い実現。以下のコードは動作します。

var loadFirmUsersSuccess = function(data){ 
     scope.userList = $.map(data.data.data[0].theList, function(item){ 
      return {id: item.id, name: item.billFirst + ' ' + item.billLast}; 
     }); 
    }; 
関連する問題