首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularfire:删除项目

Angularfire:删除项目
EN

Stack Overflow用户
提问于 2016-01-31 02:24:16
回答 2查看 832关注 0票数 0

好了,我有一个angularfire应用程序,可以将文本条目发送到firebase,但我在编写从firebase中删除文本条目的函数时遇到了麻烦。

这是我的HTML

代码语言:javascript
复制
<button class="btn btn-secondary" ng-click="deleteAll()">Remove All</button>

  <ul class="messages">
    <li ng-repeat="item in list" class="item panel">
      <h3>{{item.name}}</h3>
      <p>{{item.message}}</p>
      <button class="btn" ng-click="deleteThis()">Delete</button>
    </li>
  </ul>

deleteThis用于删除按钮所附加的单个项,而deleteAll用于删除所有项。

代码语言:javascript
复制
var myApp = angular.module("myApp",["firebase"]);

myApp.controller("SampleCtrl", function($scope, $firebaseArray) {

  var list = $firebaseArray(new Firebase("https://writeup.firebaseio.com/"));

  $scope.list = list;

  $scope.submit = function(){
    var name = document.getElementById("name").value,
        message = document.getElementById("message").value;

            list.$add({ name: name, message: message }).then(function(ref) {
          var id = ref.key();
          list.$indexFor(id);
        });
  }

  $scope.deleteAll = function(){
    $scope.id.$remove();
  };

  $scope.deleteThis = function(id, name, message){
    $scope.list.$remove(id);
  }

});
EN

回答 2

Stack Overflow用户

发布于 2016-01-31 02:43:30

在超文本标记语言中,将该项作为参数传递给deleteThis函数。

代码语言:javascript
复制
  <ul class="messages">
    <li ng-repeat="item in list" class="item panel">
      <h3>{{item.name}}</h3>
      <p>{{item.message}}</p>
      <button class="btn" ng-click="deleteThis(item)">Delete</button>
    </li>
  </ul>

在你的控制器中使用参数。

代码语言:javascript
复制
$scope.deleteThis = function(item){
    $scope.list.$remove(item);
};

从文档中:

$remove(recordOrIndex)

从数据库和本地数组中删除记录。此方法返回一个promise,该promise在服务器上删除记录后解析。它将包含对已删除记录的Firebase引用。它接受数组索引或对数组中存在的项的引用。

-- AngularFire API Reference - $remove

票数 3
EN

Stack Overflow用户

发布于 2016-01-31 02:37:24

不能按ID删除记录,只能按记录的索引删除记录,也不能通过将整个项目传递给$remove()来删除记录。

解决方案是首先查找索引,然后将其传递给$remove()

代码语言:javascript
复制
$scope.list.$remove($scope.list.$indexFor(id))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35105390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档