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)