【发布时间】:2016-01-16 19:13:47
【问题描述】:
从数组中过滤空字符串后,只显示第一个和最后一个重复元素。
我的代码:
var myApp = angular.module('myApp', []);
myApp.controller("myCtrl", function ($scope, $window) {
$scope.items = [
{ name: "item1", color: "green", form: "" },
{ name: "item2", color: "", form: "circle" },
{ name: "item3", color: "red", form: "" },
{ name: "item4", color: "", form: "oval" },
{ name: "item5", color: "blue", form: "" },
{ name: "item6", color: "", form: "square" },
{ name: "item7", color: "yellow", form: "" },
{ name: "item8", color: "", form: "rectangle" }
];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp" ng-controller="myCtrl" class="ng-scope">
<div ng-repeat="item in items" ng-if="item.form == ''">
{{item.name}}-{{item.color}}
</div>
<br />
<div ng-repeat="item in items" ng-if="item.color == ''">
{{item.name}}-{{item.form}}
</div>
<br />
</body>
但我只需要显示列表中的第一个和最后一个元素。 前任。在第一个列表中:item1-green 和 item7-yellow(item3-red 和 item5-blue 必须隐藏),第二个列表 item2-circle 和 item8-rectangle。
【问题讨论】:
-
如果一组只有颜色,而另一组只有形式(形状),为什么要将它们组合成一个列表?另外,
ng-if不是过滤器。 -
请显示预期结果。不清楚目标是什么
-
目标是只显示每个列表中的第一个和最后一个元素。
标签: angularjs angularjs-ng-repeat ng-show angular-ng-if