Javascript 找不到Angularfire$删除功能
可能是一个简单的错误,但我无法检测到它 我有这个脚本的索引Javascript 找不到Angularfire$删除功能,javascript,angularjs,firebase,ionic-framework,firebase-realtime-database,Javascript,Angularjs,Firebase,Ionic Framework,Firebase Realtime Database,可能是一个简单的错误,但我无法检测到它 我有这个脚本的索引 <head> <script src="lib/ionic/js/ionic.bundle.min.js"></script> <script src="js/app.js"></script> <script src="js/controllers.js"></script> </head> <body ng-
<head>
<script src="lib/ionic/js/ionic.bundle.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
</head>
<body ng-app="angularfirebase">
<ion-nav-view></ion-nav-view>
<script src="https://www.gstatic.com/firebasejs/3.6.2/firebase.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/2.2.0/angularfire.min.js"></script>
<script>FIREBASE KEY</script>
在controller.js中
angular.module('angularfirebase.crud', [])
.controller('usersController', function ($scope) {
var users = root.ref('/users/');
//Show All
users.on("value", function (snapshot) {
//No real time
$scope.users = snapshot.val();
});
//Remove
$scope.removeUser = function (id) {
alert("Remove");
$scope.users.$remove(id);
};
})
最后我在用户页面上看到了这个
<div ng-repeat="(id, user) in users">
CODE
<i class="ion-trash-a" title="Delete" ng-click="removeUser(id)"></i>
代码
当我单击remove function console.log时,显示
类型错误:$scope.users.$remove不是一个函数
。有什么想法吗?您正在尝试从DataSnapshot
中删除用户
,这是不可能的DataSnapshot
只是数据库的一个副本,用于读取数据
据该官员称:
DataSnapshot是高效生成的、不可变的数据副本
在数据库位置。它不能被修改,也永远不会改变
(要修改数据,请始终对引用调用set()方法
直接)
要删除用户
,您需要使用数据库引用
,而不是数据快照
试试这个:
users.child(id).remove().then(function() {//users is the user database reference
console.log("Remove succeeded.")
})
.catch(function(error) {
console.log("Remove failed: " + error.message)
});
我假设id
是子内部用户
,您正试图删除该子
有关删除的详细信息,请阅读我使用Angularfire和
$scope.removeUser = function (id) {
var user = $firebaseObject(users);
//Want to show item name
var confirm = $ionicPopup.confirm({
title: '<div><i class="ion-trash-a max"></i><div><h2>¿Are you sure?</h2></div>',
subTitle: '<h4>The user <b>' + id + '</b> will be deleted.</h4>',
});
confirm.then(function (res) {
if (res) {
user.$remove(id);
}
});
}
})
$scope.removeUser=函数(id){
var user=$firebaseObject(用户);
//要显示项目名称吗
var confirm=$ionicPopup.confirm({
标题:'你确定吗?',
副标题:“将删除用户“+id+”,
});
确认。然后(功能(res){
如果(res){
用户.$remove(id);
}
});
}
})
无论如何,谢谢你的帮助。你看过我的方法吗?这是对你方法的修正。
$scope.removeUser = function (id) {
var user = $firebaseObject(users);
//Want to show item name
var confirm = $ionicPopup.confirm({
title: '<div><i class="ion-trash-a max"></i><div><h2>¿Are you sure?</h2></div>',
subTitle: '<h4>The user <b>' + id + '</b> will be deleted.</h4>',
});
confirm.then(function (res) {
if (res) {
user.$remove(id);
}
});
}
})