【问题标题】:How to remove an Item from scope AngularJS如何从范围AngularJS中删除项目
【发布时间】:2014-11-07 23:30:19
【问题描述】:
**This  is my drink list, with a delete button for each ingredient.**

![My Ingredient Page][1]


  [1]: http://i.stack.imgur.com/QPNHs.png

**1. Relevant template html:**

div.row.editRow(ng-repeat="drink in drinks | orderBy: 'name'")
  form(ng-submit="editDrink(drink)")
    div.col-md-3 
      input(value="{{drink.name}}", ng-model="drink.name")
    div.col-md-3
      input(value="{{drink.image}}", ng-model="drink.image")
    div.col-md-1.text-right 
      a(ng-click="addNewIngredient()") +
    div.col-md-4
      div.row(ng-repeat="ingredient in drink.ingredients")
        div.col-md-7
          select.mixers(value="{{ingredient.name}}", ng-model="ingredient.name", ng-options="i for i in ingredientsList")
        div.col-md-4
          input.addForm.ingredient(value="{{ingredient.amount}}", ng-model="ingredient.amount", style="width: 100px;")
        div.col-md-1 
          a(ng-click="removeIngredientEdit($index)") -
    div.col-md-1
      button.btn Save

2。相关控制器方法:

 $scope.removeIngredientEdit = function (index) { 
    $scope.newDrink.ingredients.splice(index);
     console.log('Removed ingredient at index ' );
  };

当我这样做时,什么都没有发生。我正在使用 mongodb 来存储我的饮料信息。我是 Angular JS 的新手,不知道该怎么做。

【问题讨论】:

  • .splice(index, 1) 第二个参数指定要移除多少个数组元素。
  • 所以我应该放一个,因为我只想删除一个?然后它会起作用吗?
  • 当我进行这些更改时,没有任何反应,并且控制台显示“已删除 0 处的成分”

标签: javascript angularjs mongodb


【解决方案1】:

在您的模板中,而不是

ng-click="removeIngredientEdit(drink)"

尝试类似:

ng-click="removeIngredientEdit($parent.$index, $index)"

第一个参数$parent.$index是饮料的索引。 $index 是成分的索引。然后你可以在你的控制器中做这样的事情:

$scope.removeIngredient = function (i, j) {
    $scope.drinks[i].ingredients.splice(j, 1)
}

【讨论】:

  • 我把它改成了那个,但我仍然没有什么我一开始也尝试过,因为很多教程都使用它。谢谢
  • 有什么建议吗?
  • 我已经按照你说的做了,然后在 js 中我的函数 $scope.removeIngredientEdit = function ($index) { $scope.drinks[$index].ingredients.splice($index,1) ;控制台.log($index); };但我并不总是删除正确的。
  • 啊,估计也得通过饮料的索引了。类似 removeIngredient($parent.$index, $index)
  • $parent.$index 是饮料的索引,$index 是成分的索引。
猜你喜欢
  • 1970-01-01
  • 2012-12-24
  • 1970-01-01
  • 2017-08-22
  • 1970-01-01
  • 2022-01-08
  • 2016-10-30
  • 2015-09-11
  • 1970-01-01
相关资源
最近更新 更多