gpt4 book ai didi

javascript - Firebase 中正确的数据结构

转载 作者:行者123 更新时间:2023-11-30 15:56:23 24 4
gpt4 key购买 nike

我是 Firebase 的新手,我不确定我是否正确存储了数据。

我正在构建一个表单来存储数据。现在它只有 2 个字段,但我稍后会添加更多输入字段。

我的表单 HTML 如下所示:

<form>
<div class="form-group">
<input placeholder="Event Title..." class="form-control" name="eventTitle" ng-model="newEvent.title">
</div>
<div class="form-group">
<input placeholder="random..." class="form-control" name="eventRandom" ng-model="newEvent.random">
</div>
<button type="submit" class="btn btn-primary pull-right" ng-click="addEvent(newEvent);newEvent = null;">send</button>

我的 Controller 看起来像这样:

.controller('ChatCtrl', function ($scope, Ref, $firebaseArray, $timeout) {
// synchronize a read-only, synchronized array of events, limit to most recent 10
$scope.events = $firebaseArray(Ref.child('events').limitToLast(10));

// display any errors
$scope.events.$loaded().catch(alert);

// provide a method for adding a event
$scope.addEvent = function(newEvent) {
if( newEvent ) {
console.dir('newEvent: '+ newEvent);
// push a event to the end of the array
$scope.events.$add({newEvent})
// display any errors
.catch(alert);
}
};

在 firebase 中,数据如下所示:

enter image description here

“newEvent”节点似乎完全多余。我不确定如何正确编码我的表单和 Controller 。我在 Internet 上找到的所有示例似乎都以聊天室为例,发送表单仅包含一个文本区域。

我确实找到了一个包含多个字段的示例,它显示了上面的示例,但是正如我所指出的,“newEvent”节点在 firebase 生成的 key 之后似乎是多余的。

编写具有多个输入字段的表单的正确方法是什么?

最佳答案

如果您希望摆脱 newEvent 并纯粹按如下方式设置结构:

events
push-key
random: "random",
title: "event title"
push-key
...

改变$add数据的方式:

$scope.events.$add({ title: newEvent.title, random: newEvent.random })
// display any errors
.catch(alert);

你正在推送一个具有结构的对象:

newEvent
random: "random",
title: "event title"

这会将整个对象插入到按下键下。

关于javascript - Firebase 中正确的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38463620/

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