Wednesday, 15 February 2012

node.js - socket.io + angularjs + ui-router - data goes missing after changing states -



node.js - socket.io + angularjs + ui-router - data goes missing after changing states -

i using mssql > node.js > socket.io > angularjs/ui-router/angular-socket-io stack.

my issue first time visit state have info beingness displayed, or on refresh, info displayed no problem. when changing states , coming info disappears.

using mssql npm + express emitting info this

io.sockets.on('connection', function (socket) { // run db query on inital app start sql.connect(config, function(err) { if (err) { console.log('there error connectiong sql:'); console.log(err); } else { var request = new sql.request(); request.query('select * a.dbo.b', function(err, recordset) { if (err) { console.log('there error query:' + err); } socket.emit('data', recordset); }); } }); });

i have mill looks this

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

and within controller have this

socket.on('data', function (data) { // whole bunch of logic manipulating data..... $scope.ctrldata = finalrecordobj; $scope.$digest(); );

the state loops out info of $scope.ctrldata using ng-repeat

on refresh or first time state viewed info fine.... after go anoter state , come gone! ideas appreciated. hope above plenty information.

you should maintain info in service prevent disappearing, what's happening on refresh page controller , service initiated (service os singleton) returns data, when alter state controller refreshed not service, info controller lost , service not provide new 1 because did, hope makes sense

node.js angularjs websocket socket.io angular-ui-router

No comments:

Post a Comment