2017-04-24 47 views
0

多個條件我想添加一個按鈕,僅顯示特定的索引號:採用NG-如果與HTML

  <tbody data-ng-repeat="(wholesalerIndex,wholesaler) in wholesalers"> 
       <tr> 
        <td> 
         <button ng-if="$index != 0 || $index != 3" class="btn btn-danger" data-ng-click="removeWholesaler(wholesaler, wholesalerIndex)">Up</button> 
         <button class="btn btn-danger" data-ng-click="removeWholesaler(wholesaler, wholesalerIndex)">Down</button> 
        </td> 
       </tr> 
      </tbody> 

NG-如果不工作。當我有1條件ng-if="$index != 0",但是當我嘗試添加OR(||)語句時,它停止工作,它工作正常。

我在做什麼錯,我該如何解決?

+0

只是一個想法 - 也許操作的順序被搞砸了。試試像這樣使用括號:($ index!= 0)|| ($ index!= 3) – Paurian

+1

其實 - 看起來邏輯關閉。如果Index等於3,它不等於0,所以它通過。如果索引等於0,它不等於3,所以它通過。如果index = 10000,它不等於0(所以它通過)也不等於3(所以它也通過) – Paurian

回答

1

我的猜測是邏輯關閉。嘗試邏輯而不是邏輯或。

<button ng-if="$index != 0 && $index != 3" class="btn btn-danger" data-ng-click="removeWholesaler(wholesaler, wholesalerIndex)">Up</button> 
+0

這解決了這個問題。但是,當索引目前僅爲零時,爲什麼這樣才符合要求? –

+1

由於角度遍歷每個批發商$ $索引被設置。 ng-if在通過循環時測試$ index。如果索引爲0,則「$ index!= 3」測試將通過,因爲0不是3.反之,當$ index爲3時,它將通過「$ index!= 0」測試。通過使用邏輯AND,整體測試表明$ index可能不爲零,$ $ index可能不是三。否則,測試是真的。 – Paurian

0

只需使用NG-節目,將工作:)

<tbody data-ng-repeat="(wholesalerIndex,wholesaler) in wholesalers"> 
    <tr> 
     <td> 
      <button ng-show="$index != 0 || $index != 3" class="btn btn-danger" data-ng-click="removeWholesaler(wholesaler, wholesalerIndex)">Up</button> 
      <button class="btn btn-danger" data-ng-click="removeWholesaler(wholesaler, wholesalerIndex)">Down</button> 
     </td> 
    </tr> 
</tbody> 

我希望這會有所幫助。

+0

批發商索引是一個不同的內部主鍵。 –

+0

對!嘗試使用'ng-show'指令而不是'ng-if' –