我正在尝试将ng-repeat
与javascript https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Set中的Set
字段一起使用。我尝试使用set with ng-repat中的values(),keys(),entries()方法,但是没有用,有人知道方法,黑客攻击这项工作吗?
恢复代码:
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()和print domains属性,它打印,我认为这个问题只有ng-repeat。
答案 0 :(得分:2)
ES6选项 -
return [...domains];
答案 1 :(得分:1)
我使用了这个解决方案
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>
答案 2 :(得分:0)
这可能不是最好的解决方案,但你可以让它像这样工作:
查看:
<p ng-repeat="value in getSetAsArr(set)">{{ value }}</p>
控制器:
$scope.getSetAsArr = function (set) {
var arr = [];
set.forEach(function (value) {
arr.push(value);
});
return arr;
};