使用socket.io在Angular工厂中更新计数器

时间:2016-02-09 13:00:36

标签: angularjs socket.io counter

我正在尝试实施自动更新(增加)传入数据的解决方案。

我正在收听收到的消息并在工厂计算:

angular.module('app')
    .factory('UpdateCounter', ['socketio', function (socketio) {
        var counter = { count: 0 };

        socketio.on('message', function (msg) {
            counter.count += 1;
            console.log(counter);
        });
        return counter;
}]);

我在控制器中使用此服务:

angular.module('app')
    .controller('CounterCtrl', ['$scope', 'UpdateCounter',  
        function($scope, UpdateCounter) {
            $scope.counter = UpdateCounter;
    }]); 

显示越来越多的数据:

<div class="text-center" ng-controller="CounterCtrl">
 <h3 count-to="{{counter}}" value="{{countFrom}}" duration="4" class="total-events"></h3>
</div>

在日志中我可以看到越来越多的消息enter image description here,但我看不到前端的增加(它始终为0)

我正在使用angular-count-to动画计数到数字

1 个答案:

答案 0 :(得分:1)

我认为您错过了$scope.countFrom,看起来$scope.counter将成为一个对象。您是否需要将号码传递到count-to属性?

<强>更新

我刚才注意到的其他事情:您在角度模块声明中永远不会包含count-to指令。尝试使它更像这样:

var app = angular.module('app', ['count-to']);
app.factory(.....);
app.controller(....);