我想知道是否有可能有这样的事情:
div ng-repeat="(k,v) in items"
知道这些项是通过请求收到的JSON容器,这就是我使用键值方法的原因.
谢谢
我问,因为我试过谷歌搜索它,但我能得到的唯一结果是ng-switch
,但我必须使用ng-if
.
OR运算符:
<div ng-repeat="k in items"> <div ng-if="k || 'a' or k == 'b'"> <!-- SOME CONTENT --> </div> </div>
即使它很容易阅读,我希望作为开发人员你使用比'a''k''b'等更好的名字.
例如:
<div class="links-group" ng-repeat="group in groups" ng-show="!group.hidden"> <li ng-if="user.groups.admin || group.title == 'Home Pages'"> <!--Content--> </li> </div>
另一个OR例子
<p ng-if="group.title != 'Dispatcher News' or group.title != 'Coordinator News'" >No links in group.</p>
AND运算符 (对于那些在此stackoverflow应答中寻找AND而不是OR条件的绊脚石)
<div class="links-group" ng-repeat="group in groups" ng-show="!group.hidden"> <li ng-if="user.groups.admin && group.title == 'Home Pages'"> <!--Content--> </li> </div>
你当然可以.就像是:
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