0

嗨,我想使用基於使用NG-如果codition兩種NG-重複的語句。不知何故,它不工作。 代碼:使用ngIf與ngRepeat

<div ng-if="orderby === '0'"> 
       <div ng-repeat="user in users | filter:search"></div> 
      </div> 
      <div ng-if="orderby === '1'"> 
       <div ng-repeat="user in users | filter:search| orderBy:'-timestamp'"></div> 
      </div> 

我有兩個控制器,他們使用相同的模板。在一個模板中,我設置了值爲$scope.orderby = '0'。在此模板中,我想使用ng-repeat而不使用orderBy,反之亦然。 這不行。有沒有其他的方式來做這種類型的功能?

+0

也許你會比「它不工作」更具體的,因爲這將有助於回答者更好地理解你的問題。 – jadhachem

回答

0

創建對象:的someObjectName.orderby代替原始變量orderby。 和你的結合將是:

<div ng-if="someObjectName.orderby === '0'"> 
       <div ng-repeat="user in users | filter:search"></div> 
      </div> 
      <div ng-if="someObjectName.orderby === '1'"> 
       <div ng-repeat="user in users | filter:search| orderBy:'-timestamp'"></div> 
      </div> 

ng-repeat有另一個範圍和您的orderby可變出ng-repeat不一樣的orderbyng-repeat範圍。

閱讀這篇文章,瞭解更多有關範圍:https://github.com/angular/angular.js/wiki/Understanding-Scopes