我是 AngularJS 新手,正在为我的老板整理一个非常基本的概念验证。它是汽车租赁列表,在视图的主要区域有一个结果列表,通过一些外部 JSON 填充,侧面有一个过滤器面板。你可以在这里看到我创建的 Plunker:
http://plnkr.co/lNJNYagMC2rszbSOF95k
我已经能够在我的 ngRepeat 中成功引用子对象/值:
<article data-ng-repeat="result in results | filter:search" class="result">
<h3>{{result.carType.name}}, {{result.carDetails.doors}} door, £{{result.price.value}} - {{ result.company.name }}</h3>
<ul class="result-features">
<li>{{result.carDetails.hireDuration}} day hire</li>
<li data-ng-show="result.carDetails.airCon">Air conditioning</li>
<li data-ng-show="result.carDetails.unlimitedMileage">Unlimited Mileage</li>
<li data-ng-show="result.carDetails.theftProtection">Theft Protection</li>
</ul>
</article>
...但是,到目前为止,我无法访问我的搜索过滤器中的第二级子对象。因此,例如,在我按“汽车类型”过滤的情况下(见下文),我希望能够使用“search.carType.name”作为我的 ngModel,尽可能具体 - 但这并没有'行不通,虽然只使用'search.carType' 工作正常。谁能建议我做错了什么?
<h4>Car type:</h4>
Compact <input type="checkbox" data-ng-model="search.carType" ng-true-value="Compact" ng-false-value="" /><br>
Intermediate <input type="checkbox" data-ng-model="search.carType" ng-true-value="Intermediate" ng-false-value="" /><br>
Premium <input type="checkbox" data-ng-model="search.carType" ng-true-value="Premium" ng-false-value="" /><br>