仅更新焦点输入viewvalue

时间:2017-03-14 11:17:41

标签: javascript angularjs user-experience

我使用相同的模型获得了2个输入字段,我将其用作ng-repeat列表中的过滤器。 第一个输入位于列表顶部,第二个输入位于底部。列表可能很长。 由于我们看到很多人滚动到列表的底部,仍然无法找到他们想要的内容,我们也在底部包含搜索框。现在的问题是,通过绑定,2个输入显示相同的值,这可能导致混淆。所以我想知道是否有任何方法只更新(或显示)聚焦输入的值?

我自己也找不到关于这个主题的任何内容,也许这是不可能的。在这种情况下,也许你们中的任何人对这个问题有不同的解决方案。非常感谢任何帮助。

提前致谢!

1 个答案:

答案 0 :(得分:0)

这可以通过以下方式完成

<强> JS

  var app = angular.module('myApp', []);
  app.controller('ctrl', function($scope) {
    $scope.data = [1, 2, 3, 4, 5];
    $scope.$watch('topFilter', function(old, newVal) {
      $scope.filter = old;
    });
    $scope.$watch('bottomFilter', function(old, newVal) {
      $scope.filter = old;
    });

  });

<强> HTML

  <div ng-app='myApp'>
    <div ng-controller='ctrl'>

      <span>Filter: <input type='text' ng-model='topFilter' ></span>
      <ul>
        <li ng-repeat='item in data|filter:filter'>{{item}}</li>
      </ul>
      <span>Filter: <input type='text' ng-model='bottomFilter'></span>
    </div>
  </div>

希望这会对你有用Jsfiddle link