gpt4 book ai didi

angularjs - 使用 AngularFire 通过 id Firebase 检索项目

转载 作者:行者123 更新时间:2023-12-02 14:11:40 25 4
gpt4 key购买 nike

我正在尝试搜索具有 id 的项目,但收到此消息。所有功能均正常工作。执行时出现此错误:

Storing data using array indices in Firebase can result in unexpected behavior. See https://www.firebase.com/docs/web/guide/understanding-data.html#section-arrays-in-firebase for more information.

我的工厂

.factory('TEST', function ($firebaseArray) {

var ref = new Firebase('https://shark-firebase.firebaseio.com');

return {
all: function(section) {
var data = $firebaseArray(ref.child(section));
return data;
},
get: function(section, id) {
var data = $firebaseArray(ref.child(section).child(id));
return data;
}
};
});

我一起尝试:

        get: function(section, id) {
var data = $firebaseArray(ref.child(section));
return data.$getRecord(id);
}

和我的 Controller :

如果 $stateParams.section = 'posts' 且 $stateParams.id = '0'。

$scope.loadItem = function(){
$scope.item = TEST.get($stateParams.section, $stateParams.id);
};

最佳答案

这是获取该元素的一种方法:

var app = angular.module('app', ['firebase']);

app.factory('TEST', function ($firebaseArray, $firebaseObject) {

var ref = new Firebase('https://shark-firebase.firebaseio.com');

return {
all: function(section) {
var data = $firebaseArray(ref.child(section));
return data;
},
get: function(section, id) {
var data = $firebaseObject(ref.child(section).child(id));
return data;
}
};
});

app.controller('MainCtrl', function($scope, TEST) {
$scope.item = TEST.get('posts', 0);
});

查看此 jsbin 是否正常工作:http://jsbin.com/tumape/edit?html,js,output

但是请仔细阅读您链接的消息中的页面,因为它指出了您当前数据结构中的一些可扩展性限制问题。

  1. 在集合上使用数组索引
  2. 嵌套数组

如果忽略这些考虑因素,今天开始可能会更容易,但是您会限制应用程序的扩展程度。

关于angularjs - 使用 AngularFire 通过 id Firebase 检索项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32148654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com