存储'时间'每次用户单击按钮时在firebase中

时间:2016-03-01 17:03:22

标签: javascript angularjs firebase

我有一个待办事项列表,其中有一个'完成'按钮。我想在每次用户点击按钮时将时间存储在firebase中。该按钮在一段时间后启用,当用户再次单击该按钮时,我想再次存储时间而不是覆盖现有时间。在我的代码中,时间会被覆盖。

的index.html

$scope.doneItem = function(todo) {

  todo.stopSpam = true; 
  todo.timestamp = Date();

  $interval(callAtInterval, 30000);

  function callAtInterval(){
    todo.stopSpam = false;  
  }

};

app.js

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import time
import numpy as np

for t in [np.uint8, np.int8]:
  a=np.empty([480, 640], t)
  v=[10, 245]
  for y in range(480):
    for x in range(640):
      a[y, x]=v[x&1]  # 50%=10, 50%=245
  t1=time.clock()
  a[a<32]=0
  a[a>224]=0
  t2=time.clock()
  print("%2.3f ms"%((t2-t1)*1000), a.dtype)

1 个答案:

答案 0 :(得分:1)

为避免覆盖现有数据,您的代码应在每次要在该节点中存储数据时创建新的子节点。

给定ref是你的根参考

var timestampsRef = ref.child("timestamps");
var newTimestampRef = timestampsRef.push();

newTimestampRef.set({
    stamp: "a timestamp"
});

每次用户按下按钮时调用它将创建一个不同的节点名称,然后将时间戳作为子项添加到每个节点名称。

  "timestamps": {
    "-QIUEiijasdj923498": {
      "stamp": "a timestamp"
    },
    "-Qnbnajsd093409koi": {
      "stamp": "a timestamp"
    }