1

我在我的控制器中使用数组来存储名称列表。然而,取决于用户点击的公司,该页面在页面加载后会明显改变很多次。从控制器动态加载Angular 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

由于上面我意识到,我写了return语句不正确的评论。下面的代码工作。

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