【问题标题】:Using an Angular filter with an adjacent component将 Angular 过滤器与相邻组件一起使用
【发布时间】:2017-10-17 12:53:00
【问题描述】:

使用 angular 1.6.4 我无法在相邻组件的 ng-repeat 上使用过滤器。在示例中,我为数据的动态列表(ng-repeat)创建了一个组件,然后为搜索输入创建了一个单独的组件。我不知道如何将数据从搜索组件传递到 keyfeed 组件。

app.js

app.component('keyfeed', {
  bindings: { 
    search: '='
  },
  template: `
    <ul>
     <li ng-repeat="record in records | filter:search">{{ record }}</li>
    </ul>
  `,
  controller: function($scope) {
    $scope.records = [
      "Alfreds Futterkiste",
      "Berglunds snabbköp",
      "Centro comercial Moctezuma",
      "Ernst Handel",
    ];
  }
});

app.component('search', {
  bindings: { 
    search: '='
  },
  template: `
    <input type="search" search="$ctrl.search" ng-model="search">
  `,
  controller: function() {
  }
});

index.html

<search search="search"></search>
<keyfeed search="search"></keyfeed>

Plunker:view

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您缺少在模板中执行实际绑定所需的 $ctrl

    <li ng-repeat="record in records | filter:$ctrl.search">{{ record }}</li>
    
    <input type="search" ng-model="$ctrl.search">
    

    See the updated plnkr

    【讨论】:

    • 啊,这么近。谢谢!
    猜你喜欢
    • 2018-02-02
    • 2019-09-26
    • 2021-09-05
    • 2023-03-13
    • 2017-08-17
    • 2016-09-18
    • 1970-01-01
    • 2016-02-12
    • 2021-04-02
    相关资源
    最近更新 更多