Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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/3/flash/4.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 从AngularJS中的数组中删除元素时出错_Javascript_Angularjs - Fatal编程技术网

Javascript 从AngularJS中的数组中删除元素时出错

Javascript 从AngularJS中的数组中删除元素时出错,javascript,angularjs,Javascript,Angularjs,我正试图删除Angular中的一个元素,但我得到了一个 错误:[ngRepeat:dups]从列表中删除元素后 我的控制器: app.controller("ListController",[function () { this.tasks = [ { id: 1, taskName : "Cras justo odio 1", badge : 10 }, { id: 2, taskName : "Cras justo odio 2", badge : 12 },

我正试图删除Angular中的一个元素,但我得到了一个
错误:[ngRepeat:dups]
从列表中删除元素后

我的控制器:

app.controller("ListController",[function () {
    this.tasks = [
      { id: 1, taskName : "Cras justo odio 1", badge : 10 },
      { id: 2, taskName : "Cras justo odio 2", badge : 12 },
      { id: 3, taskName : "Cras justo odio 3", badge : 14 },
      { id: 4, taskName : "Cras justo odio 4", badge : 15 }
    ];

    this.remove = function(id) {
        var key;
        for (key in this.tasks) {
          if(this.tasks[key].id === id) {
            var found = true;
            break;
          }
        }

        if(found) delete this.tasks[key];
    }
}]);
我的看法是:

  <li class="list-group-item" ng-repeat="task in ListCtrl.tasks">
     <span class="badge">{{task.badge}}</span>
     <button type="button" class="btn btn-xs btn-danger" ng-click="ListCtrl.remove(task.id)"><i class="glyphicon glyphicon-remove"></i></button>
     {{task.taskName}}
  </li>
  • {{task.badge} {{task.taskName}
  • 堆栈:

     Error: [ngRepeat:dupes] http://errors.angularjs.org/1.3.13/ngRepeat/dupes?p0=task%20in%20ListCtrl.tasks&p1=undefined%3Aundefined&p2=undefined
    at Error (native)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:6:417
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:233:39
    at Object.fn (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:122:63)
    at l.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:123:138)
    at l.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:126:58)
    at HTMLButtonElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:215:36)
    at HTMLButtonElement.c (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:32:389)
    
    错误:[ngRepeat:dups]http://errors.angularjs.org/1.3.13/ngRepeat/dupes?p0=task%20in%20ListCtrl.tasks&p1=undefined%3Aundefined&p2=undefined
    错误(本机)
    在https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:6:417
    在https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:233:39
    at Object.fn(https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:122:63)
    月刊(https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:123:138)
    以1美元申请(https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:126:58)
    在HTMLButtoneElement。(https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:215:36)
    在HTMLButtonElement.c(https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js:32:389)
    
    使用数组。拼接(索引,计数)从数组中删除元素,因为任务是对象数组

    使用数组。拼接(索引,计数)从数组中删除元素,因为任务是对象数组

    使用数组。拼接(索引,计数)从数组中删除元素,因为任务是对象数组

    使用数组。拼接(索引,计数)要从数组中删除元素,因为任务是对象数组

    请在ng repeat中使用trackby index

    ng-repeat="task in ListCtrl.tasks track by $index"
    

    在ng repeat中使用trackby索引

    ng-repeat="task in ListCtrl.tasks track by $index"
    

    在ng repeat中使用trackby索引

    ng-repeat="task in ListCtrl.tasks track by $index"
    

    在ng repeat中使用trackby索引

    ng-repeat="task in ListCtrl.tasks track by $index"
    

    ng repeat使用增量计数器枚举数组。通过删除数组中间的一个键,角度将考虑元素未定义。一个不会是问题,但两个会导致重复(在ng repeat中不能有两个具有相同值的元素)-重复是两个未定义的值

    使用Array.splice()删除对象是正确的解决方案

    使用trackby$index可以解决复制错误,但最终会在html中出现空元素

    是指向angular中github问题的链接,深入讨论了这种情况。这支队伍决定保持现状


    指向如何使用array.splice()从数组中删除特定元素的链接。

    ng repeat使用增量计数器枚举数组。通过删除数组中间的一个键,角度将考虑元素未定义。一个不会是问题,但两个会导致重复(在ng repeat中不能有两个具有相同值的元素)-重复是两个未定义的值

    使用Array.splice()删除对象是正确的解决方案

    使用trackby$index可以解决复制错误,但最终会在html中出现空元素

    是指向angular中github问题的链接,深入讨论了这种情况。这支队伍决定保持现状


    指向如何使用array.splice()从数组中删除特定元素的链接。

    ng repeat使用增量计数器枚举数组。通过删除数组中间的一个键,角度将考虑元素未定义。一个不会是问题,但两个会导致重复(在ng repeat中不能有两个具有相同值的元素)-重复是两个未定义的值

    使用Array.splice()删除对象是正确的解决方案

    使用trackby$index可以解决复制错误,但最终会在html中出现空元素

    是指向angular中github问题的链接,深入讨论了这种情况。这支队伍决定保持现状


    指向如何使用array.splice()从数组中删除特定元素的链接。

    ng repeat使用增量计数器枚举数组。通过删除数组中间的一个键,角度将考虑元素未定义。一个不会是问题,但两个会导致重复(在ng repeat中不能有两个具有相同值的元素)-重复是两个未定义的值

    使用Array.splice()删除对象是正确的解决方案

    使用trackby$index可以解决复制错误,但最终会在html中出现空元素

    是指向angular中github问题的链接,深入讨论了这种情况。这支队伍决定保持现状

    指向如何使用array.splice()从数组中删除特定元素的链接