希望得到的格式是:
软件开发
JAVA开发工程师,IOS开发工程师,安卓开发工程师,xx,xx,xx...
UI/UE设计
用户界面设计,网页设计美工,xx,xx,...
我目前想到的方式有两种,一种是通过拆散成{“type”:“软件开发”,“name”,“java工程师”}的格式,通过ng-if来判断type相等,此方法成立。
一种是希望在循环中再次遍历循环,代码如下:
然而却并没有成功,而且只是循环joblist.jobName也不可以,是因为ng-repeat中不可以这么写么?
controller代码如下:
template
<div ng-controller="MyCtrl">
<div ng-repeat="job in joblist">
<h4>{{job.type}}</h4>
<!-- 利用filter -->
<p>{{job.jobName | display}}</p>
<!-- 直接ng-repeat -->
<p>
<span ng-repeat="n in job.jobName">
{{n.name}}<span ng-if="!$last">,</span>
</span>
</p>
</div>
</div>
js
angular.module('myApp', [])
.controller('MyCtrl', function ($scope) {
$scope.joblist = [
{
type: '软件开发',
jobName: [
{name: 'JAVA开发工程师'},
{name: 'IOS开发工程师'}
]
},
{
type: 'UI/UE设计',
jobName: [
{name: '用户界面设计'},
{name: '网页设计'}
]
}
];
})
.filter('display',function () {
return function (jobName) {
return jobName.map(function (item) {
return item.name;
}).join(',');
}
})
搞懂了,写一个笔记,例子出来分享一下好吗
嵌套循环,里面的那层循环是在外面的数据基础上,你的JS数据上没有问题的话,html上应该这样写
<div ng-repeat="jobtype in joblist">
<h3>{{jobtype.type}}</h3>
<div ng-repeat="job in jobtype.jobName"><!-- 这里的jobtype.jobName就是你想循环的内层数组 -->
<p>{{job.name}}</p>
</div>
</div>