ng-repeat
是 AngularJS 中的一个指令,用于遍历数组或对象,并为每个元素渲染一个模板。如果你想根据条件访问对象中的对象,可以在 ng-repeat
中结合使用 ng-if
或者直接在表达式中进行条件判断。
当你有一个复杂的对象结构,并且只想显示满足特定条件的部分时,可以使用这种方法。
假设我们有以下数据结构:
$scope.items = [
{ name: 'Item 1', details: { available: true, price: 10 } },
{ name: 'Item 2', details: { available: false, price: 20 } },
{ name: 'Item 3', details: { available: true, price: 30 } }
];
我们只想显示那些 available
属性为 true
的项目及其详细信息。
<div ng-app="myApp" ng-controller="myCtrl">
<div ng-repeat="item in items">
<div ng-if="item.details.available">
<h3>{{ item.name }}</h3>
<p>Price: {{ item.details.price }}</p>
</div>
</div>
</div>
<div ng-app="myApp" ng-controller="myCtrl">
<div ng-repeat="item in items">
<div ng-show="item.details.available">
<h3>{{ item.name }}</h3>
<p>Price: {{ item.details.price }}</p>
</div>
</div>
</div>
display
属性)。ng-if
可以减少 DOM 元素的数量,因为它会根据条件动态地添加或移除元素。ng-show
则始终会在 DOM 中保留元素,只是通过 CSS 控制其显示或隐藏。如果你遇到 ng-repeat
不按预期工作的问题,可能的原因包括:
$scope
。通过上述方法,你可以有效地使用 ng-repeat
结合条件判断来遍历和显示对象中的特定部分。
领取专属 10元无门槛券
手把手带您无忧上云