带有ng-click的Firebase应用程序

时间:2016-06-27 12:56:02

标签: javascript html angularjs firebase firebase-realtime-database

我正在尝试更新Firebase数据库中的值,但是ng-click没有触发。是什么导致这个问题? $scope.updateCount = function (userId, postId) {}不运行。我使用printButton功能打印按钮。

  function createFirebase() {        
        firebase.database().ref('posts/userId/').set({
            postId: {
                starCount: 0
            }
        });
    }

    function getCount (userId, postId) {
        var count; 

        if (userId) {
            firebase.database().ref('posts/userId/postId/starCount').on('value', function(snapshot) { 
                count = snapshot.val();
            }); 

            return count; 
        } 

        else { 
            prompt('User ID not given'); 
        } 
    }

    $scope.updateCount = function (userId, postId) {
        var count;

        if (userId) {

            firebase.database().ref('posts/userId/postId/starCount').once('value', function(snapshot) { 
                count = snapshot.val();
                count += 1;

                firebase.database().ref('posts/userId/').set({
                    postId: {
                        starCount: count
                    }
                });
                count = snapshot.val(); 
                $scope.rating =  count;
            }); 

            $scope.rating =  count;

            alert("Hello")

            return count; 
        } 

        else { 
            prompt('User ID not given'); 
        } 
    }

    function printButton(_count) {

        var _innerHtml = '<a ng-click="updateCount(1,1)"><i class="fa fa-thumbs-o-up redicon fa-2x"><span ng-bind-html="countb" class="badge"></span></i></a>';

       $scope.lbtn = _innerHtml;
        $scope.countb = _count;
    }

    var myCount;

    firebase.database().ref('posts/userId/postId/starCount').once('value', function(snapshot) { 
                myCount = snapshot.val();
                $scope.countb = myCount;
            }); 



    firebase.database().ref('posts/userId/postId/starCount').on('value', function(snapshot) { 
                myCount = snapshot.val();
                $scope.countb = myCount;
            }); 
    printButton(myCount);

和Html:

<div ng-bind-html="lbtn"></div>

0 个答案:

没有答案