我想知道是否可以有这样的东西:
div ng-repeat="(k,v) in items"
<div ng-if="k == 'a' || k == 'b'">
<!-- SOME CONTENT -->
</div>
知道 items 是通过请求接收的 JSON 容器,所以这就是我使用键、值方法的原因。
谢谢
我这么问是因为我尝试过谷歌搜索,但我能得到的唯一结果是使用ng-switch
,但我必须使用ng-if
.
最佳答案
当然可以。像这样的东西:
HTML
<div ng-controller="fessCntrl">
<label ng-repeat="(key,val) in list">
<input type="radio" name="localityTypeRadio" ng-model="$parent.localityTypeRadio" ng-value="key" />{{key}}
<div ng-if="key == 'City' || key == 'County'">
<pre>City or County !!! {{$parent.localityTypeRadio}}</pre>
</div>
<div ng-if="key == 'Town'">
<pre>Town!!! {{$parent.localityTypeRadio}}</pre>
</div>
</label>
</div>
JS
var fessmodule = angular.module('myModule', []);
fessmodule.controller('fessCntrl', function ($scope) {
$scope.list = {
City: [{name: "cityA"}, {name: "cityB"}],
County: [{ name: "countyA"}, {name: "countyB"}],
Town: [{ name: "townA"}, {name: "townB"}]
};
$scope.localityTypeRadio = 'City';
});
fessmodule.$inject = ['$scope'];
演示 Fiddle
关于AngularJS ng-if 具有多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20305012/