【发布时间】:2014-08-17 06:18:01
【问题描述】:
我正在使用 mssql > node.js > socket.io > angularjs/ui-router/angular-socket-io 堆栈。
我的问题是我第一次访问显示数据的状态,或者刷新时,数据显示没有问题。但是,当更改状态并返回时,数据会消失。
使用 npm + express 中的 mssql 我正在发出这样的数据
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();
);
状态然后使用 ng-repeat 循环出 $scope.ctrlData 的数据
在刷新或第一次查看状态时数据很好....在我进入另一个状态并回来之后它就消失了!任何想法将不胜感激。希望以上信息足够。
【问题讨论】:
标签: node.js angularjs websocket socket.io angular-ui-router