Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase.ServerValue.TIMESTAMP在视图中显示为带有.push()的{quot;.sv";:“TIMESTAMP";}_Javascript_Angularjs_Firebase_Angularfire - Fatal编程技术网

Javascript Firebase.ServerValue.TIMESTAMP在视图中显示为带有.push()的{quot;.sv";:“TIMESTAMP";}

Javascript Firebase.ServerValue.TIMESTAMP在视图中显示为带有.push()的{quot;.sv";:“TIMESTAMP";},javascript,angularjs,firebase,angularfire,Javascript,Angularjs,Firebase,Angularfire,我的控制器中有以下功能: $scope.add = function(newItem){ if (!(newItem.title && newItem.text)) return; var sanitized = { title: newItem.title, text: newItem.text, date: Firebase.ServerValue.TIMESTAMP, }; // $rootScope.

我的控制器中有以下功能:

  $scope.add = function(newItem){
    if (!(newItem.title && newItem.text)) return;
    var sanitized = {
      title: newItem.title,
      text: newItem.text,
      date: Firebase.ServerValue.TIMESTAMP,
    };
    // $rootScope.currentUser is here bound with $firebaseObject(ref).$bindTo($rootScope, 'currentUser').
    $rootScope.currentUser.list.push(sanitized);
    // .list is an array: []. 
  };
在我看来,我利用这一点如下:

    <form name="newUp">
        <input ng-model="newItem.title">
        <textarea ng-model="newItem.text"></textarea>
        <button ng-click="add(newItem)">Submit</button>
    </form>

    <div ng-repeat="item in currentUser.list | orderBy:'-date'">
     <p>
      <span><a href="">{{item.title}}</a> <small>  -&nbsp;&nbsp;{{item.date | date:'d MMM yy'}}</small></span><br>
      <span ng-if="item.text"><small>{{item.text}}</small></span>
     </p>
    </div>

提交

-{{item.date | date:'d MMM yy'}}
{{item.text}

但是,单击“提交”按钮并将项目保存到firebase数据库后,它在屏幕上显示为:

{.sv:“时间戳”}

在我完全刷新页面后,它会显示具有正确时间戳的项。有没有办法避免这种情况?我可以避免使用$firebaseArray来修复此问题吗

我使用的是bower,它已经下载了以下版本:

  • 角火1.1.2
  • Firebase v2.2.7
  • AngularJS v1.4.1
从a开始,
$firebaseObject
正在工作。很明显,它没有正确处理一个特殊对象的值
Firebase.ServerValue.TIMESTAMP
,该对象告诉服务器将时间戳放在服务器端。但是,使用同步方法将同一对象添加到
$firebaseArray
中时,情况并非如此

也许我缺少了
$firebaseObject
的某种
flush
方法,但我找不到它


在任何情况下,您都应该使用
$firebaseArray
,因为您的数据属于
Array
类型。不要忘记使用
$add
$save
$remove
,根据您使用的Firebase客户端库/Angular库的哪个版本?我已经将这些版本添加到了问题中,很好。一切都是最新的,除了angular(出于某种原因bower不会降低1.4.2),这有关系吗?谢谢。这回答了这个问题,因为它a)澄清了我没有做错什么,&b)我一直试图避免动态构建特定的引用,但我认为这是一个糟糕的模式,因此遵循链接的文档是很自然的事情。