套接字.IO + angularjs + ui-router语言 - 改变状态后数据丢失



我正在使用mssql> node.js>套接字。angular-socket-io .

我的问题是,我第一次访问的状态,我有数据被显示,或在刷新,数据显示没有问题。但是,当改变状态并返回时,数据消失。

使用mssql from npm + express我发出这样的数据

io.sockets.on('connection', function (socket) {
    // Run db query on inital app start
    sql.connect(config, function(err) {
        if (err) {
        console.log('There was an error connectiong to sql:');
        console.log(err);
        } else {
            var request = new sql.Request();
            request.query('SELECT * from a.dbo.b', function(err, recordset) {
                if (err) {
                    console.log('There was an error with the query:' + err);
                }
                socket.emit('data', recordset);
            });
        }
    });
});

我有一个像这样的工厂

.factory('socket', function (socketFactory) {
    var socket = io.connect(window.location.hostname);
    return socket;
})

在控制器中我有这个

socket.on('data', function (data) {
    // WHOLE bunch of logic manipulating the data.....
    $scope.ctrlData = finalRecordObj;
    $scope.$digest();
);

状态然后循环出$scope的数据。ctrlData使用ng-repeat

在刷新或第一次查看状态时,数据正常....在我去了另一个州回来之后,它就消失了!任何想法都将非常感激。

你应该保持你的数据在服务,以防止它消失,现在发生的事情是,在刷新页面控制器和服务被启动(服务是一个单例),然后它返回数据,但当你改变状态控制器刷新,但不是服务,所以数据从控制器丢失和服务不会提供新的,因为它已经做了,希望这是有意义的

相关内容

  • 没有找到相关文章

最新更新