当前位置: 首页 > 面试题库 >

angularjs:动态更改过滤器选项

葛宪
2023-03-14
问题内容

我想要的是类似于文档中的此示例的示例,但是具有唯一的输入,可以通过“
any”,“ name”或“
phone”属性来扮演过滤的三个角色,角色的更改是通过单击锚点完成的。这是准备好的代码http://jsfiddle.net/ubugnu/QuyCU/如何动态更新ng-
model属性?

的HTML

<div ng-app>
  <div ng-controller="MainCtrl">

      <label>Any</label> <input type="text" ng-model="search.$"> <br>
      <label>Name only</label> <input type="text" ng-model="search.name"><br>
      <label>Phone only</label> <input type="text" ng-model="search.phone"><br>

      <div style="background-color:#FAE8F1">
      <hr>

      <label>Filter</label> <input type="text" ng-model="search.$"> by {{filter}} <br>
      <ul>
      <li><a href="" ng-click="changeFilterTo('$')">Any</a></li>
      <li><a href="" ng-click="changeFilterTo('name')">By Name</a></li>
      <li><a href="" ng-click="changeFilterTo('phone')">By phone</a></li>
      </ul>

      <hr>
      </div>

      <table class="table">
        <tr><th>Name</th><th>Phone</th></tr>
        <tr ng-repeat="friend in friends | filter:search">
          <td>{{friend.name}}</td>
          <td>{{friend.phone}}</td>
        </tr>
      </table>
  </div>
</div>

JS

function MainCtrl($scope, $http) {
    $scope.friends = [{name:'John', phone:'555-1276'},
                      {name:'Mary', phone:'800-BIG-MARY'},
                      {name:'Mike', phone:'555-4321'},
                      {name:'Adam', phone:'555-5678'},
                      {name:'Julie', phone:'555-8765'}];
    $scope.filter = "$";
    $scope.changeFilterTo = function(pr) {
        $scope.filter = pr; 
    }
};

问题答案:

您可以定义ng-model如下:ng- model="search[filter]"动态更改应绑定到哪个变量(filter另一个$scope变量在哪里)。

参见小提琴:http :
//jsfiddle.net/lopisan/vzQKk/1/

您必须将此行添加到控制器:

$scope.search = {name:'', phone:'', $:''};

并更改输入:

<input type="text" ng-model="search[filter]">


 类似资料:
  • 问题内容: 我想过滤结果。 有一个葡萄酒清单,我的愿望是当未选中任何复选框时,将显示整个葡萄酒清单。 当仅选中1个复选框时,显示相关类别 当选中多个复选框时,将显示相关类别 我是AngularJS的新手,我尝试了ng-model都没有成功,这是没有与函数关联的ng-model的代码: 如何使用ng-model或ng-change将功能与每个复选框按钮相关联以具有实时过滤模型? 问题答案: 只是添加

  • 主要内容:AngularJS 过滤器,表达式中添加过滤器,AngularJS 实例,AngularJS 实例,currency 过滤器,AngularJS 实例,向指令添加过滤器,AngularJS 实例,过滤输入,AngularJS 实例,自定义过滤器,AngularJS 实例过滤器可以使用一个管道字符(|)添加到表达式和指令中。 AngularJS 过滤器 AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式。 filter 从数组项中选择一个子集

  • 问题内容: 我刚刚开始使用SQLAlchemy。我决定使用它,因为我在sqlite查询中间使用了很多字符串表达式。 所以,这就是我的问题。我的桌子上有很多设备,每个设备都有维护级别的日期。关键是用户可以选择他想在屏幕上看到的维护级别。因此,我应该为他选择的每种维护级别组合“调整”我的SQLAlchemmy。 例如,在原始SQLite中。 SELECT * WHERE(设备IN [])和m_leve

  • 我有下面的servlet过滤器。

  • 我正在我的web应用程序中使用spring cloud sleuth。不幸的是,我接到呼叫的第三方正在X-B3-TraceId标头中发送UUID。但是,spring中的TraceFilter在从字符串转换为十六进制时可能会检测出错误,因为UUID中有“-”字符。因此,我决定编写自己的过滤器,它将在TraceFilter之前拦截请求,并从标头中删除跟踪id。这是我的配置: 这是spring clou

  • 问题内容: 我有一组项目,我想使用ng-model作为字符串来过滤ng- repeat来过滤集合,到目前为止,我还没有找到一种方法来使表达式被否定时起作用,我做这样的事情: 在文档中,它说我们应该使用!否定表达,但仍然没有运气。 我究竟做错了什么? 问题答案: ‘!’ 字符位于过滤器字符串的前面,如下所示: 过滤器:’!’+ languageOrigin