我有一个如下所示的数组;
var myObj = {
paramA1: "some value",
paramA2: "a=1, set=2, of=332, comma=21, sep=12, values=01132"
}
$scope.myObj = myObj;
我想在我的HTML中显示以上内容:
paramA1: some value
paramA2: a=1
set=2
of=332
comma=21
sep=12
values=01132
但是,我遇到的问题是paramA2的内容是一个字符串。
所以我尝试过:
<div ng-repeat="(key, value) in myObj track by $index">
<strong>{{key}}:</strong>
<ul>
<li>
{{value}}
</li>
</ul>
</div>
这给了我:
paramA1: some value
paramA2: a=1, set=2, of=332, comma=21, sep=12, values=01132
所以我尝试在第二次重复上添加一个函数来将paramA2转换为数组:
<div ng-repeat="(key, value) in myObj track by $index">
<strong>{{key}}:</strong>
<ul>
<li ng-repeat="myItem in getMyItems(value)">
{{value}}
</li>
</ul>
</div>
$scope.getMyItems = function(item) {
var array = item.split(',');
return array;
};
但是,如何对新数组进行重复?
答案 0 :(得分:1)
在暴露于您的视图之前简单地爆炸该字符串:
$scope.iterable = myObj.paramA2.split(', ');
答案 1 :(得分:0)
您应该使用过滤器来表示&#34;数组&#34;。
angular.module('myApp').controller('MyCtrl',['$scope', 'fooFilter', MyCtrl]);
function fooFilter() {
return function(input) {
return input.split(',');
};
}
<div ng-repeat="(key, value) in myObj">
<strong>{{key}}:</strong>
<ul>
<li ng-repeat="paramA2Item in value | foo">
{{ paramA2Item }}
</li>
</ul>
</div>
中的完整示例
希望这会有所帮助。
此致