Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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 未使用.splice(索引,1)从集合中删除元素_Javascript_Angularjs_Coffeescript - Fatal编程技术网

Javascript 未使用.splice(索引,1)从集合中删除元素

Javascript 未使用.splice(索引,1)从集合中删除元素,javascript,angularjs,coffeescript,Javascript,Angularjs,Coffeescript,我有一个$scope.inventories,其中包含我可以选择的库存。 如果选择了某个项目,我想从库存中删除所选项目,但这不会发生 代码如下: $scope.select = (inventory, index) -> url = '/tasks/select_inventory' inventory_id = inventory.id $http( method: 'POST' url: url para

我有一个
$scope.inventories
,其中包含我可以选择的库存。 如果选择了某个项目,我想从
库存中删除所选项目,但这不会发生

代码如下:

  $scope.select = (inventory, index) ->
    url          = '/tasks/select_inventory'
    inventory_id = inventory.id
    $http(
      method: 'POST'
      url: url
      params: { task_id: task_id, inventory_id: inventory_id }
    ).success((data, status) ->
      $scope.selected_inventories.push inventory
      $scope.inventories.splice(index, 1)
      return true
    ).error (data, status) ->
      alert('failed')
      return
库存模型

angular.module('orwapp').factory 'Inventory', ['$resource', ($resource) ->

  Inventory = $resource "/api/v1/inventories/:id",
                      { id: "@id" }

  return Inventory
]
Rails API以json的形式返回
@task
。可以吗?
呈现json:@task


为什么
$scope.inventory.splice(索引,1)
不能像预期的那样工作?

这是一个打字错误,看起来像一个额外的打开部分”(“数据之前”

).success((data, status) ->

据我所知,这段代码应该可以工作。你是否正确地使用$scope.apply()来更新范围?如果你
console.log($scope.inventory)
紧跟在
.splice
it?@DanielMa,它说:[Resource,Resource,Resource,Resource,$promise:promise,$resolved:true]0:Resource1:Resource2:Resource3:Resource$promise:promise$resolved:truelength:4\uuu proto\uuuu:Array[0]是$scope.inventures数组还是键控对象?我想是数组。它的填充方式如下:$scope.inventures=Inventory.query(task\u id:task\u id)