【发布时间】:2014-01-07 21:47:28
【问题描述】:
我只是想在我的第一个小 Angular 项目上多做些工作,我将 AngularFire 从 0.3.0 更新到 0.5.0,但没有什么真正起作用了。我能够恢复数据库访问权限并将项目添加到我的列表中。但是删除功能不再起作用。在我更新 AngularFire 之前,我使用 splice(index,1) 删除了一个项目。我还尝试使用 0.5.0 中的新 $remove 但它只是从列表中删除所有项目,即使我添加了一个键。
这是我的清单重复:
<tr ng-repeat="(key, earning) in earnings | orderByPriority">
<td>{{earning.date}}</td>
<td>{{earning.description}}</td>
<td>{{earning.price}} €</td>
<td>
<button class="btn btn-danger" ng-click="removeEarning(key)">
Löschen
</button>
</td>
如您所见,它只是创建了一个带有数据的 tr 并且每个项目都有一个删除按钮。当我单击特定项目上的删除按钮时,应仅将其从列表中删除,而不是全部删除。
我现在的 JS 代码:
function BalanceCtrl($scope, $log, $http, $firebase) {
var dbEarnings = new Firebase('https://*******.firebaseio.com/Earnings');
$scope.earnings = $firebase(dbEarnings);
$scope.addEarning = function() {
$scope.earnings.$add({date:$scope.FormEarningDate, description:$scope.FormEarningDescription, price:$scope.FormEarningPrice});
$scope.FormEarningDate = '';
$scope.FormEarningDescription = '';
$scope.FormEarningPrice = '';
$scope.updateEarning();}
$scope.removeEarning = function (key) {
$scope.earnings.$remove(key);
}
仅从列表中删除特定项目是行不通的。 0.3.0 一切正常。有人知道我能做什么吗?
【问题讨论】:
-
这似乎是正确的代码,并且 $remove 在此示例中按预期工作:plnkr.co/edit/dFQmxUtIbKlhjiW1WV1X?p=preview - 你能仔细检查'key'的值是否正确吗?
标签: javascript angularjs firebase angularfire