下面的代碼顯示了來自firebase的列表,並顯示了列表中每個項目的相應註釋字段。用戶可以對該項目發表評論,並且會更新列表中該項目的評論字段。目前,每次發表評論時,都會覆蓋前一個評論,但我想要保存所有評論。如何使用AngularFire將項目添加到列表中項目中的特定字典?
如何讓每一個評論的添加,在以前的保存以及時間,以便?
http://jsfiddle.net/chrisguzman/PS9J2/
indx.html
<div ng-app="MyApp" ng-controller="MyCtrl">
<div ng-repeat="(id,item) in data">
<h2>{{item.title}}</h2>
<input ng-model="item.comment"></input>
<button type="submit" ng-click="CommentAdd(id)">Comment</button>
</div>
</div>
app.js
angular.module('MyApp', ['firebase'])
.controller('MyCtrl',
function MyCtrl($scope, $firebase) {
var furl = "https://helloworldtest.firebaseio.com";
var ref = new Firebase(furl);
$scope.data = $firebase(ref);
$scope.CommentAdd = function (id) {
$scope.data.$save(id);
};
});
下面是產生 {helloworldtest火力內的數據結構: { -J SQhsAnY5zhf0oVKfbb是:{title: 「NAMEA」 評論: 「二評」}, -JSQhsAnY5zhf0oVKfbb是:{title: 「nameB」 評論: 「二評」}}}
不過,我想創建下面有一個「評論」分支,其中包含所有評論。
{helloworldtest:
{-JSQhsAnY5zhf0oVKfbb: {title: "nameA", comments:{-JSQhsAnY5zhf0oVKfbb:{Comment:"Second Comment"},-JSQhsAnY5zhf0oVKfbb:{Comment:"First Comment"}}},
{-JSQhsAnYdfdfdffbb: {title: "nameA", comments:{-JSQhsAnY5zhf0oVKfAb:{Comment:"Another Comment"},-JSQhsAnY5zhf0oVKfbb:{Comment:"First Comment"}}}
}
我試着通過更換
$scope.data.$save(id);
與
$scope.data.$add(id);
我使用也試着這樣做:
$scope.data[id].$add({foo: "bar"})