如何在ng-repeat
中參考$odd
或$even
變量? 我試圖做到這一點:
<ng-repeat="item in items" ng-if="$odd">these are odd{{item}}</div>
<ng-repeat="item in items" ng-if="$even">these are even {{item}}</div>
通過這樣做:
<div ng-repeat="side in sides">
<div ng-include='template'></div>
</div>
//template
<ng-repeat="item in items" ng-if="side">these are {{side}} {{item}}</div>
//in the controller
$scope.sides = ['$odd','$even']
{{side}}
導致在預期的位置文檔$odd
和$even
文本,但所有的{{item}}
來了通過。
我試過ng-if="side"
,ng-if=side
,ng-if={{side}}
,ng-if=" 'side' "
。 我相信這只是我在球場上的新秀無知,而且它正盯着我。
編輯:::
對不起,我不清楚。如果我想把整個佈局寫出來,指定$ odd和$ even就足夠簡單了,而我現在已經放棄了這個佈局。但是,我想要做的事情是使用ng-include儘可能地爲佈局的重用部分進行模板化。我佈局的一個非常簡化的版本看起來是這樣的:
我想要做的就是把這樣的事情:
<div class="outer-column1">
<div class="innercolumnA">
<div class="thumbnail" ng-repeat"thumbnail in thumbnail" ng-if"$even"></div>
</div>
<div class="innercolumnB">
<div class="thumbnail" ng-repeat"thumbnail in thumbnail" ng-if"$odd"></div>
</div>
</div>
<div class="outer-column2">
<div class="innercolumnA">
<div class="thumbnail" ng-repeat"thumbnail in thumbnail" ng-if"$even"></div>
</div>
<div class="innercolumnB">
<div class="thumbnail" ng-repeat"thumbnail in thumbnail" ng-if"$odd"></div>
</div>
</div>
弄成這個樣子:
<div ng-include="outer-column" ng-repeat="outercolumn in outercolumns"></div>
//template outer-column
<div class="outer-column">
<div ng-include="inner-column" ng-init="innercolumns = [$odd,$even] " ng-repeat="innercolumn in innercolumns"></div>
</div>
//template inner-column
<div class="innercolumn" ng>
<div ng-include="'thumbnail'" ng-repeat"thumbnail in thumbnail" ng-if"innercolumn"></div>
</div>
//template thumbnail
<div class="thumbnail"></div>
的問題是:如何間接地引用ng的$ odd和$ even變量?例如,我嘗試了一個ng-init="sides = [$odd,$even]" and passed that in the ng-repeat for the innercolumn template
並將ng-if="side"
放入模板中,但沒有結束。
我還想過傳遞一個像ng-if =「whichSide(side)」這樣的函數,它會返回$ odd或$ even,但是好像$ odd和$ even變量沒有在$ scope對象中定義...
但這就是我想要了解的有關$ odd和$ even變量以及間接引用它們的精神......希望這是有道理的。這個項目工作得很好,只要我進行更新和3行模板化佈局,只需修改10行代碼即可。謝謝!
哎.... @dan chow,是我的答案能夠幫助你嗎?請您回答一些調查結果? – scniro
嗨!我很抱歉延遲: –