Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度ng重复输入过滤器将搜索中的第一个字符加倍_Javascript_Angularjs - Fatal编程技术网

Javascript 角度ng重复输入过滤器将搜索中的第一个字符加倍

Javascript 角度ng重复输入过滤器将搜索中的第一个字符加倍,javascript,angularjs,Javascript,Angularjs,我的页面上有一个输入元素来过滤我的结果集。当我开始在文本框中键入时,它总是将键入的第一个字符加倍 以下是html: <input ng-model="query" type=search results=5 name=s placeholder="{{translation._SEARCH_}}..." style="text-align: left" /> <div ng-repeat="eu in EligibleUsers | orderBy: Username | fi

我的页面上有一个输入元素来过滤我的结果集。当我开始在文本框中键入时,它总是将键入的第一个字符加倍

以下是html:

<input ng-model="query" type=search results=5 name=s placeholder="{{translation._SEARCH_}}..." style="text-align: left" />
<div ng-repeat="eu in EligibleUsers | orderBy: Username | filter: query">
    <a style="border: 1px solid green; border-radius: 5px; background-color: light-gray; width: 100%; margin: 5px; height: 100px;" ng-click="Impersonate(eu.Username)">
        <span>{{eu.Username}}</span>
    </a>
</div>
以下是合格人员:

var successGetImpersonateUsers = function (data) {
        if (data.length > 0) {
            for (var i = 0; i < data.length; i++) {
                var impersonateUser = data[i];

                $scope.EligibleUsers.push(impersonateUser);
            }
        }
    };
var successGetImpersonateUsers=函数(数据){
如果(data.length>0){
对于(变量i=0;i
因此,如果我在搜索框中键入“a”,它将显示“aa”。如果我尝试快速键入“ab”,它将显示“aab”

编辑:我从我的控制器中删除了$scope.query,但仍然得到相同的行为

编辑:它仅在绑定到我的范围“查询”变量时复制第一个字符。一旦我删除了ng model=“query”,那么复制就不会再发生了

编辑:当输入一个字符,即“a”,并让它加倍,所以“aa”,然后点击删除键一次,它实际上删除了两个a


注意:请忽略我的拙劣/糟糕的风格…

我已经确定只有在Mac上的iOS模拟器上才会发生这种情况。显然[我认为]模拟器中有一个bug,Angular没有任何问题。谷歌又赢了

Eligibleuser在哪里?您能展示一下它是如何工作的吗?在这里工作很好:您是否在视图/控制器中的其他地方使用了
query
,这可能会与此用法发生冲突?顺便说一句,您需要将您的
orderBy
表达式用引号括起来,正如您将在Plunker中看到的那样。@rafaels88我更新了代码以显示符合条件的用户……我根据您的示例代码发布的内容不会复制您描述的行为。你能用叉子叉它并修改它吗?@MarcKline我删除了$scope.query=“”;从我的控制器完全,我仍然得到相同的行为。
var successGetImpersonateUsers = function (data) {
        if (data.length > 0) {
            for (var i = 0; i < data.length; i++) {
                var impersonateUser = data[i];

                $scope.EligibleUsers.push(impersonateUser);
            }
        }
    };