1
我對Angular指令有點新不瞭解,想知道是否有一種方法可以多次使用同一個指令但綁定不同的數據? (我敢肯定,那裏有一種方法,我只是不知道如何!)對不同的數據使用相同的指令
例如,我有想做成1個指令,只是傳遞數據不同我下面兩個表:
1.Here我正在通過對象的數組的重複,如果KV isPaint:真,那麼我將打印以下表..
<tr class="hover"
ng-repeat="paint in allOptions | orderBy: 'listPrice'"
ng-if="paint.isPaint"
ng-click="addRemoveOption(paint)"
ng-class="{'selected':isSelected(paint)}"
>
<td> {{ paint.code }}</td>
<td> {{ paint.name }}</td>
<td> {{ paint | includedOption }}</td>
<td> {{ paint.disclaimer }}</td>
<td> {{ paint.salesGroup }}</td>
<td> {{ paint.optionPrev}}</td>
<td> {{ paint.familyCode }}</td>
</tr>
我在這裏做同樣的除我是檢查修剪...
<tr class="hover" ng-repeat="trim in allOptions | orderBy: 'listPrice'" ng-if="trim.isTrim" ng-click="addRemoveOption(trim)" ng-class="{'selected':isSelected(trim)}" > <td> {{ trim.code }}</td> <td> {{ trim.name }}</td> <td> {{ trim | includedOption }}</td> <td> {{ trim.disclaimer }}</td> <td> {{ trim.salesGroup }}</td> <td> {{ trim.optionPrev }}</td> <td> {{ trim.familyCode }}</td> </tr>
我只需要訪問控制器從指令將被使用的頁面,所以我有權訪問'allOptions'。我想我可以通過在指令中設置scope:true來做到這一點?
我可以輕鬆地將ng-repeat名稱更改爲更一般的名稱,那麼我只需要更改ng-if是如果要在表中打印值的主要決定因素。所有的表格列,數據等都完全一樣,我只需要能夠分開修剪,塗料,選項等。我發現了一個類似的帖子Use same directive in same view and bind different data,但我真的不知道這裏發生了什麼......
感謝您的幫助,如果有任何額外的信息,我可以提供請讓我知道。
我將不得不改變我的數據模型來做這個工作,但我相信這是正確的答案。但是,我可能應該以這種方式讓我的數據模型開始:)。再次感謝! – reedb89
不客氣!很高興我能幫上忙! –