gpt4 book ai didi

javascript - $firebaseArray 子记录的子节点上没有 ID

转载 作者:行者123 更新时间:2023-11-28 19:12:09 27 4
gpt4 key购买 nike

我正在制作 Angular-Fire 待办事项列表的修改版本。此修改包括创建子列表和子列表的子列表。

我的问题是,当我添加第一级子列表时,子对象没有我需要附加下一级子列表的 $id。

它们似乎没有常见的 Firebase 属性,只有“标题”和“已完成”状态。

我不明白为什么我拥有的 ng-repeat 没有给我更多信息,特别是为什么它适用于顶级对象但不适用于下面的对象。

原补充:

 $scope.addTodo = function(theTodo) {
var newTodo = theTodo.trim();
if (!newTodo.length) {
return;
}
$scope.todos.$add({
title: newTodo,
completed: false
});
$scope.newTodo = '';
$scope.subtodo = false;
};

子列表添加:

$scope.addSubList = function(parent, toDo) {
console.log(parent, toDo)
var subRef = newRef.child(parent.$id)
var newArray = $firebaseArray(subRef)
var newTodo = toDo.trim();
if (!newTodo.length) {
return;
}
newArray.$add({title: newTodo,
completed: false
})
$scope.sublistExists = true;
$scope.newTodo = '';
}

最佳答案

$firebaseArray 对象仅对您初始化它的位置下的第一级子级起作用。因此,您看到的行为是“按设计工作”。

如果你想处理多级集合,你有两个选择(据我所知):

  1. 自己处理较低的级别
  2. 将所有列表存储在单个级别上,然后通过在每个列表中保留 parentId 来手动构建多级别

我建议使用选项 2,因为它更符合 Firebase 建议,可以防止不必要的嵌套。请参阅https://www.firebase.com/docs/web/guide/structuring-data.html

关于javascript - $firebaseArray 子记录的子节点上没有 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564682/

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