gpt4 book ai didi

javascript - 如何在 firebase 中更新字典,同时使用 angularjs 添加时间戳?

转载 作者:行者123 更新时间:2023-11-28 01:04:41 25 4
gpt4 key购买 nike

以下代码更新列表中的 Firebase 字典,并为该更新创建时间戳,但复杂的是我需要将 Firebase 对象转换为 html 中的数组

JSFiddle:http://jsfiddle.net/chrisguzman/b84up41y/

这有效:

HTML

<section ng-app ="myapp" ng-controller="MyController">

<div ng-repeat= "(id,item) in data">
<form ng-submit="AddComment(id)">
<input ng-model="item.comment"></input>
</form>
</div>

</section>

JavaScript

angular.module("myapp", ["firebase"])
.controller('MyController',function MyController($scope, $firebase) {
var ref = new Firebase("https://helloworldtest.firebaseio.com");

$scope.data = $firebase(ref);
$scope.AddComment = function (id) {
$scope.data[id].DateLastModified = Date.now();
$scope.data.$save(id)}


});

但是当我添加 |orderByPriority 将 firebase 对象转换为数组时,我可以这样应用过滤器

<form ng-submit="AddComment(id) |orderByPriority">

它不再起作用

但是,当我删除以下组件(这是我需要的组件)时,它确实可以更新列表中的字典。

$scope.data[id].DateLastModified = Date.now();

根据火力基地

The orderByPriority filter is provided by AngularFire to convert an object returned by $firebase into an array. The objects in the array are ordered by priority (as defined in Firebase). Additionally, each object in the array will have a$id property defined on it, which will correspond to the key name for that object.

但是,id 似乎返回 0,而不是我显示的示例中的 id

最佳答案

只需直接传递项目的id,如下所示:

<div ng-repeat= "item in data|orderByPriority">
<form ng-submit="AddComment(item.$id)">
<input ng-model="item.comment"></input>
</form>
</div>

请注意,在 ng-repeat 中,我仅在 data 中查找 item。这是一个工作jsfiddle .

关于javascript - 如何在 firebase 中更新字典,同时使用 angularjs 添加时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25229433/

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