Angularjs 在条件下应用角ng重复滤波器

Angularjs 在条件下应用角ng重复滤波器,angularjs,Angularjs,我是angular的新手,我想知道如何在ng repeat指令中应用和删除过滤器,但我想在某些情况下删除或添加过滤器,例如使用$stateParams更改URL if($stateParams.x){ //remove unique filter } else{ //add unique filter } 下面是我正在编写的代码 <div ng-app="app" ng-controller="MyCtrl as item"> <div > <ul>

我是angular的新手,我想知道如何在ng repeat指令中应用和删除过滤器,但我想在某些情况下删除或添加过滤器,例如使用$stateParams更改URL

if($stateParams.x){
  //remove unique filter
}
else{
   //add unique filter
}
下面是我正在编写的代码

<div ng-app="app" ng-controller="MyCtrl as item">
<div >
<ul>
  <li ng-repeat="item in items | unique: 'column'" myfilter>
    {{ item.column }}
     </li>
   </ul>
</div>
</div>

  • {{item.column}
这里有一个plunker链接,我正在尝试这样做,但它不起作用。

如果您不想编写自己的过滤器,您可以使用外部ng,如果是这样的:

<div ng-app="app" ng-controller="MyCtrl as item">
<div>
  <ul ng-if="$stateParams.x">
    <li ng-repeat="item in items | unique: 'column'" myfilter>
      {{ item.column }}
    </li>
  </ul>
  <ul ng-if="!$stateParams.x>
    <li ng-repeat="item in items">
      {{ item.column }}
    </li>
  </ul>
</div>
</div>

  • {{item.column}

如果您在unique filter中传递附加参数,并使用一些标志来启用和禁用unique filter,则可以完成此操作。换句话说,如果flag为true,那么您将使用唯一的逻辑,否则您将返回所有项目。它已与普朗克样品一起得到答复