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