Angular ng-repeat&没有更新firebase的ng-model

时间:2014-06-06 21:17:16

标签: angularjs firebase ng-repeat

我正在使用angularfire,并且在我的投票应用程序的最后阶段,有人投票,点击提交并更新问题中的计数(或标记就是我所说的)。这是我的数据模型:

"-JOiDEYd8ANSv9jbL5qJ" : {
    "question" : "Coffee or Tea?",
    "options" : [ {
      "mark" : 0,
      "option" : "Coffee"
    }, {
      "mark" : 0,
      "option" : "Tea"
    } ]
  },
  "-JOiD7pd0fpY_lvYr74s" : {
    "question" : "Bagels or Waffles?",
    "options" : [ {
      "mark" : 0,
      "option" : "Bagels"
    }, {
      "mark" : 0,
      "option" : "Waffles"
    } ]
  },

这是我的html,用于用户在进行投票时看到的内容:

     <form role="form" ng-submit="pollSubmit()">
        <div class = "form-group" ng-repeat="option in selected.options">
            <input type="radio" name = "answer" ng-value="1" ng-model="option.mark" > {{option.option}}
        </div>
        <div class="form-group">
            <input class="btn btn-primary btn-xs pull-left" type="submit" value="Submit Poll">
        </div>
    </form>

当我在html中测试{{option.mark}}时,每次选择单选按钮时标记的值都会递增,而当我单击其他选项时,标记的值不会重置为0。当我实际提交时,我希望后端的标记上升一个。所以我如何制作这样我的单选按钮只选择一个选项,并且当有人在提交单选按钮之前点击单选按钮时,不会将标记加1。

这是我的控制器

'use strict';

angular.module('controllers', [])
        .controller('homeCtrl', ['$scope', '$firebase', function ($scope, $firebase){
            $scope.total = null;

            var ref = new Firebase('https://resplendent-fire-5367.firebaseio.com/');
            $scope.polls = $firebase(ref);

            $scope.title = 'Active Polls';

            $scope.select = function(poll){
                $scope.selected = poll;
            };


            $scope.pollSubmit = function (){
            if(confirm('Submit response?')){
                $scope.polls.$update({

                })
            }else{
                return;
            }
        };


        }]);

0 个答案:

没有答案