Javascript ng表格-无法填充选择下拉列表
为什么这不起作用?我正在使用ng table网站上的自定义下拉过滤器。它们展示了如何使用静态数据获得下拉列表,而我需要它来使用API调用 注意:在本例中,他们使用的函数必须是$q承诺:Javascript ng表格-无法填充选择下拉列表,javascript,angularjs,ngtable,Javascript,Angularjs,Ngtable,为什么这不起作用?我正在使用ng table网站上的自定义下拉过滤器。它们展示了如何使用静态数据获得下拉列表,而我需要它来使用API调用 注意:在本例中,他们使用的函数必须是$q承诺: filter-data="names($column)" 到目前为止,您只需指向$scope变量即可返回静态数据: filter-data="someScopeVariable" 问题是: 如果将数据以[{id:1111,title:1111},…]的形式打印到视图中,则可以看到数据,但不在ng表下拉列表中
filter-data="names($column)"
到目前为止,您只需指向$scope变量即可返回静态数据:
filter-data="someScopeVariable"
问题是:
如果将数据以[{id:1111,title:1111},…]的形式打印到视图中,则可以看到数据,但不在ng表下拉列表中
在我的控制器中:
$scope.initNgTableData = $q.all([MyDataService.getMyData().$promise])
.then( function(result) {
var arr = [],
names = [];
data = result[0];
angular.forEach(data.items, function(item){
if (inArray(result[0], arr) === -1) {
arr.push(item.vlan);
names.push({
'id': item.vlan,
'title': item.vlan
});
}
});
$scope.ngtableMyData = names;
return $scope.ngtableMyData;
});
我尝试了两种方法来获取数据:
1解析为数组的scope.data变量$scope.ngtableMyData:
在我看来,我已经尝试获取简单的数据:
<td class="col-md-1" data-title="'FOO'" filter="{ 'foo': 'select' }" filter-data="$scope.ngtableMyData" sortable="'foo'">
...
</td>
2我还尝试使用函数来获取解析的promise$scope.initNgTableData:
我觉得这个问题与API的异步特性有关
注:
您不能只将它指向任何JSON数组。返回的数据必须是具有id和标题的数组。请参见我在上面链接的示例11,以了解它们如何形成返回数据
您可以尝试使用API调用修改此Plunker
请注意,我使用的是$resource,而不是$http 那台机器到底有什么不工作?目前还不清楚,因为它似乎工作正常。plnkr使用的是数据,而不是API调用。我在使用Angular$资源时遇到问题。我基本上使用的是plunker,但我的问题是控制器代码。
<td class="col-md-1" data-title="'FOO'" filter="{ 'foo': 'select' }" filter-data="$scope.initNgTableData()" sortable="'foo'">
... </td>