2016-10-04 30 views
1

現在,我創建了一個額外的跨度來保存一個條件。角度1:具有多個條件的多個條件或者如果其他條件爲真如何排除條件

<div ng-repeat="(key, resultLinks) in resultGroup.resultLinks"> 
    <div ng-if="key < 4 || viewMore" ng-repeat="(subKey, linksWrap) in resultLinks.linksWrap"> 
     <span ng-if="wWidth > 568 || subKey == 0" ng-repeat="links in linksWrap.links"> 
       {{links.linkName}} 
     </span> 
    </div> 
</div> 

你將如何改變它,以便所有的條件都在一個div中。即:ng-if =「(鍵< 4 || viewMore)||(wWidth> 568 || subKey == 0)」(類似這樣的,但不完全)。如果另一種情況屬實,可以以某種方式排除一種情況嗎?

回答

1

這是你在找什麼?

(key < 4 || viewMore) && (wWidth > 568 || subKey == 0) 
1

是否有可能以某種方式排除一個條件,如果另一個是真的?

這正是OR(||)運算符正在做的事情。如果(key < 4 || viewMore)true它不會進一步,(wWidth > 568 || subKey == 0)將不會執行。

這應該工作:

<div ng-if="(key < 4 || viewMore) || (wWidth > 568 || subKey == 0)" ng-repeat="(subKey, linksWrap) in resultLinks.linksWrap"> 
     <span ng-repeat="links in linksWrap.links"> 
       {{links.linkName}} 
     </span> 
    </div> 

正如你可以看到它看起來很醜陋。在您的控制器某處

<div ng-if="isVisible(key, subKey)"... > 

:我會提出邏輯從模板

$scope.isVisible = function(key, subKey){ 
    return (key < 4 || $scope.viewMore) || ($scope.wWidth > 568 || subKey == 0) 
} 
+0

我錯過了&&而不是|| – yodalr

+0

就像一箇舊約。爲什麼它在DOM中很醜陋?我看不出爲什麼我應該把代碼分成兩個地方,我可以把它保存在一個地方嗎? – yodalr

+0

醜陋是非常主觀的:)有些人將自己的代碼保存在'

  • 11. Awk有條件有多個條件
  • 12. 多條語句如果條件爲真如果是
  • 13. 如果其他條件多次安裝
  • 14. 優化太多,如果其他條件
  • 15. 有多個條件的條件面板是真的
  • 16. 多「如果」條件
  • 17. 多,如果條件
  • 18. 如果多條件
  • 19. 多個條件:需要檢查的其他條件
  • 20. 多個如果和/或條件
  • 21. 有什麼更好的?多條if語句,或者多條件條件之一
  • 22. 如何爲單個條件執行多個條件
  • 23. 的MySQL如果有多個條件
  • 24. 如何解碼具有相同條件與多個條件與差異結果
  • 25. 多個條件
  • 26. 多個條件
  • 27. 多個條件
  • 28. 多個條件
  • 29. 多個條件
  • 30. 多個條件