【发布时间】:2014-11-05 09:36:41
【问题描述】:
我正在使用 ngTable 并异步加载表,但其中一列正在使用选择过滤器,当它被调用时,表数据尚未解析。最初我使用本地 JSON 对象测试 ngTable 并且这有效,但现在我不确定如何填充选择。是否可以以编程方式设置列的过滤数据以填充选择字段?
ng表格单元格
<td data-title="'Status'"
sortable="'status'"
filter="{ 'status': 'select' }"
filter-data="getStatus()" // hasn't resolved yet and select is empty
ng-bind="doc.status"></td>
控制器功能
$scope.getStatus = function() {
var def = $q.defer();
var arr = [];
var status = [];
// NOTE: RestService.getPackages() below isn't resolved and select is empty
angular.forEach( RestService.getPackages(), function( item ) {
// Check if status already exists
if( arr.indexOf( item.status ) === -1 ) {
// Store status for comparison to avoid duplicates
arr.push( item.status );
// Store status information for filtering
status.push({
'id': item.status,
'title': item.status
});
}
});
def.resolve( status );
return def;
};
【问题讨论】:
-
你能在 plunk 中重现 bug,使用计时器来模拟网络延迟吗?
-
您使用的是
angular promises还是q promises?和RestService.getPackages()回报承诺,不是吗?
标签: javascript angularjs angular-promise ngtable