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

如何使用ng-click从数组中删除项目或对象?

凌伟泽
2023-03-14
问题内容

我正在尝试编写一个函数,该函数使我可以在单击按钮时删除项目,但我认为我对该函数感到困惑-我可以使用$digest吗?

HTML和app.js:

<ul ng-repeat="bday in bdays">
  <li>
    <span ng-hide="editing" ng-click="editing = true">{{bday.name}} | {{bday.date}}</span>
    <form ng-show="editing" ng-submit="editing = false">
      <label>Name:</label>
      <input type="text" ng-model="bday.name" placeholder="Name" ng-required/>
      <label>Date:</label>
      <input type="date" ng-model="bday.date" placeholder="Date" ng-required/>
      <br/>
      <button class="btn" type="submit">Save</button>
      <a class="btn" ng-click="remove()">Delete</a>
    </form>
  </li>
</ul>

$scope.remove = function(){
  $scope.newBirthday = $scope.$digest();
};

问题答案:

要删除项目,您需要将其从数组中删除,并且可以将bday项目传递给标记中的remove函数。然后在控制器中查找项目的索引并从数组中删除

<a class="btn" ng-click="remove(item)">Delete</a>

然后在控制器中:

$scope.remove = function(item) { 
  var index = $scope.bdays.indexOf(item);
  $scope.bdays.splice(index, 1);     
}

Angular将自动检测到对bdays数组的更改并更新ng-repeat

演示:http :
//plnkr.co/edit/ZdShIA?p=preview

编辑:如果使用服务器进行实时更新将使用您创建的服务 $resource来管理阵列更新,同时更新服务器



 类似资料:
  • 问题内容: 我有一个数字数组,并且使用该方法向其中添加元素。 有没有一种简单的方法可以从数组中删除特定元素? 相当于- 我必须使用 核心 JavaScript-不允许使用框架。 问题答案: 使用查找要删除的数组元素的,然后使用删除该索引。 splice()方法通过删除现有元素和/或添加新元素来更改数组的内容。 第二个参数是要删除的元素数。注意,将在适当位置修改数组并返回一个包含已删除元素的新数组。

  • 问题内容: 有没有一种方法可以从JavaScript数组中删除项目? 给定一个数组: 我想做类似的事情: 我已经研究过了,但是只能按位置编号删除,而我需要一些根据其值删除项目。 问题答案: 如果不允许添加到本机原型,则可以是全局函数或自定义对象的方法。它从数组中删除与任何参数匹配的所有项目。 为了使其成为全球性的 并照顾IE8及以下版本-

  • 问题内容: 相关模板HTML: 相关控制器方法: 我试着和。 尽管数据库已成功删除,但我无法从作用域中删除此项目,也不想对服务器进行方法调用以获取客户端已拥有的数据,我只想从作用域中删除此人。 有任何想法吗? 问题答案: 您的问题不是Angular,而是Array方法。从数组中删除特定项目的正确方法是使用。另外,使用ng- repeat时,您可以访问特殊属性,该属性是您传入的数组的当前索引。 该解

  • 问题内容: 故事是,我应该能够将鲍勃,莎莉和杰克放进盒子里。我也可以从包装盒中取出。卸下后,将不留任何插槽。 我现在需要删除“鲍勃”。新的数组将是: 这是我的反应成分: 在这里,我向您展示了一个最少的代码,因为它包含更多内容(onClick等)。关键部分是从数组中删除,删除,销毁“ Bob”,但调用时不起作用。有任何想法吗?我一直在看这个,但由于使用React,所以我可能做错了。 问题答案: 要从

  • 从项目中去除可可的正确方法是什么?我要把整块可可皮去掉。由于我的客户施加的一些限制,我不能使用它。我只需要一个xcodeproj而不是一个XCWorkspace。

  • 问题内容: 如何从数组中删除对象?我想删除,其中包括名称的对象从。例如: 我要实现: 问题答案: 您可以使用多种方法从数组中删除项目: 如果要删除position处的元素,请使用: 要么 您可以使用或结合使用参见MDN从数组中删除一个或多个元素,例如