모든 제품의 모든 특성을 반복하여 배열에 추가하는 기능을 만듭니다 (아직없는 경우).
$scope.getAttributes = function(){
var attributes = [];
angular.forEach($scope.data, function(item){
angular.forEach(item.attributes, function(attribute){
if(attributes.indexOf(attribute) == -1)
attributes.push(attribute);
})
})
return attributes;
}
이제 당신은 그 속성에 대한 HTML 태그의 목록을 만들 수 있습니다
<div ng-repeat="a in getAttributes()" ng-click="setFilter(a)">{{a}}</div>
를 제품 목록을 필터링하는 데 사용되는 selectedAttribute
변수를 설정합니다 속성을 클릭 :
<table>
<tdata>
<tr ng-repeat="d in data | filter:{attributes: selectedAttribute}">
<td>{{d.name}}</td>
<td>{{d.attributes}}</td>
</tr>
</tdata>
</table>
을
Plunker Demo
위대한 내용이지만 구현에 관해서는 나 자신의 코드는 $ scope.getAttributes에서 4 행을 지나지 않습니까? 그것은 plunker에서 T에 복사 ... – leaksterrr
무엇이 오류입니까? 그리고 Angular의 최신 버전을 사용하고 있습니까? – Jerrad
nvm, 고맙습니다. 고맙습니다. – leaksterrr