我正在使用Angular 1應用程序,我需要根據ng-repeat循環中的值調用不同的指令。我正在使用ng-if到目前爲止,如果它符合條件就會呈現該指令,但我所想的是,如果一段時間後有100條指令,那麼我將使用100 ng-ifs,並且我認爲必須爲此做一些更好的解決方案。動態調用Angularjs指令
下面是一些我的代碼
模板,該模板調用指令renderDirective
<div ng-repeat="element in data">
<div ng-if="element.item === 'motor'">
<render-motor motor-id="element.id" name="element.item"
checked="element.params.switch"></render-motor>
</div>
<div ng-if="element.item === 'adc'">
<render-adc adc-id="element.id" name="element.item"></render-adc>
</div>
</div>
爲了簡單
<render-directive ng-if="data.length !== 0" data="data"></render-directive>
模板,我只顯示了兩個指令,但實際上我已經調用了超過10個指令和它將來可能會達到100。
那麼有沒有人可以告訴我一個更好的方法來做到這一點,我不需要使用ng-if來指導每個指令?
如果我沒有清除某些問題,請讓我知道。
UPDTAE
對於清算什麼,我正好在尋找,我有其中有「項目」屬性格式,並根據該屬性我想打電話給一個指令的數組。因此,對於例如,
- 的項目=「馬達」,我想打電話給motorDirective
- 的項目=「開關」,我想打電話給switchDirective
- 的項目=「領導」,我想call ledDirective
等等。
什麼你到底需要什麼?使用不同的模板做不同的結構或數據循環不同的數據? –
請參閱更新 –
使用[ng-switch指令](https://docs.angularjs.org/api/ng/directive/ngSwitch)進行研究。它比使用多個'ng-if'指令的開銷少。 – georgeawg