使用AngularFire创建评论系统

时间:2014-10-25 09:17:23

标签: angularjs firebase angularfire

我的身体是这样铺设的:

<body class="container" ng-controller="ArticleController as data">
<div class="dataholder" ng-repeat="cd in data.datas">
  <h1 class="title">
    {{cd.name}}<p class="date" ng-show="cd.date.length>0"> @ {{cd.date}}</p>

  </h1>
  <h3 class="description">{{cd.description}}</h3>
  <!-- Comment placement -->
  <div class="commentInput">
  <input class="commentbox" ng-show="cd.commentable==true" type="text" placeholder='Comment on this'>
  <button ng-show="cd.commentable==true" class="button">Post</button>
  </div> 
  <div ng-repeat="comment in cd.comments" ng-show="cd.commentable==true" class="commentdiv">
  <h5>
    {{comment.name}}: <p class="comment">{{comment.text}}<p>
  </h5>
  </div>
</div>

我已导入:* AngularJS,* Firebase,* AngularFire。

我已经搜索了很多,并且没有找到办法让它能够从ng-repeat启用的div中将数据发布到firebase。我想要这个评论系统。我想做点什么:

onclick='thisref.push( <text from the input in my body> )'

在我的按钮中。

但我不知道如何:

  • 让代码知道哪个ref使用取决于它的ng-repeat位置。
  • 使用输入值。

请原谅我的错误代码。 我对网页设计很陌生。

1 个答案:

答案 0 :(得分:0)

我所做的是在我的控制器中为$scope添加一个方法:

$scope.addCard = function(state) {
    var auth = $firebaseSimpleLogin(new Firebase(FBURL));
    auth.$getCurrentUser().then(function(user) {
        var card = { title: 'Card '+(cards.length+1), created_by: user.username, created_at: Firebase.ServerValue.TIMESTAMP, state: state };
        cards.$add(card);
    });
};

然后在HTML中将其连接起来:

<a ng-click='addCard(state)' ng-show='auth.user'>Add card</a>

https://github.com/puf/trenches上查看app.js和index.html,在那里找到一个完整但极少的应用程序。