ng-repeat 不适用于集合数据结构
ng-repeat not working with set data structure
我正在尝试将 ng-repeat
与 javascript https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Set 中的 Set
字段一起使用。我尝试将 Set 中的 values()、keys()、entries() 方法与 ng-repat 一起使用,但没有用,有人知道办法吗?
恢复代码:
function Campaign () {
this.site = {
type : '',
domains : new Set()
};
}
控制器:
.controller('CampaignStep1Ctrl', ['$scope', 'languages', 'geoLocationService',
function ($scope, languages, geoLocationService) {
var vm = this;
vm.campaign = $scope.campaign;
}
html:
<tr class="ui-widget-content ui-datatable-empty-message" ng-repeat="domain in vm.campaign.site.domains">
<td colspan="2">{{domain}}</td>
</tr>
注意:如果我使用 console.log() 并打印域属性,它会打印出来,我认为问题仅出在 ng-repeat 上。
这可能不是最好的解决方案,但您可以这样工作:
查看:
<p ng-repeat="value in getSetAsArr(set)">{{ value }}</p>
控制器:
$scope.getSetAsArr = function (set) {
var arr = [];
set.forEach(function (value) {
arr.push(value);
});
return arr;
};
一个 ES6 选项 -
return [...domains];
我使用了这个解决方案
var devSet = new Set();
devSet.add(""One);
devSet.add(""Two);
...
$scope.deviceTypes = Arrays.from(devSet);
并且在html
<ul>
<li ng-repeat="type in deviceTypes">
<p>{{type}}</p>
</li>
</ul>
我正在尝试将 ng-repeat
与 javascript https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Set 中的 Set
字段一起使用。我尝试将 Set 中的 values()、keys()、entries() 方法与 ng-repat 一起使用,但没有用,有人知道办法吗?
恢复代码:
function Campaign () {
this.site = {
type : '',
domains : new Set()
};
}
控制器:
.controller('CampaignStep1Ctrl', ['$scope', 'languages', 'geoLocationService',
function ($scope, languages, geoLocationService) {
var vm = this;
vm.campaign = $scope.campaign;
}
html:
<tr class="ui-widget-content ui-datatable-empty-message" ng-repeat="domain in vm.campaign.site.domains">
<td colspan="2">{{domain}}</td>
</tr>
注意:如果我使用 console.log() 并打印域属性,它会打印出来,我认为问题仅出在 ng-repeat 上。
这可能不是最好的解决方案,但您可以这样工作:
查看:
<p ng-repeat="value in getSetAsArr(set)">{{ value }}</p>
控制器:
$scope.getSetAsArr = function (set) {
var arr = [];
set.forEach(function (value) {
arr.push(value);
});
return arr;
};
一个 ES6 选项 -
return [...domains];
我使用了这个解决方案
var devSet = new Set();
devSet.add(""One);
devSet.add(""Two);
...
$scope.deviceTypes = Arrays.from(devSet);
并且在html
<ul>
<li ng-repeat="type in deviceTypes">
<p>{{type}}</p>
</li>
</ul>