AngularJS路由导致服务器调用问题
AngularJS routing causing issues with server calls
我在nodewebkit应用程序中使用AngularJS
。
我有三个视图:
- home。
- Conversation.html
- Login.html
登录时,我正在呼叫
$state.go('home.main');
调用
$stateProvider.state('home.main', {
url: '/home',
views: {
"mainContent": {
templateUrl: 'views/home.html',
controller: 'loginController'
}
}
}
在主html中,我正在进行服务器调用(通过socket.io)以获得所有对话。由于数据是巨大的,它需要一些时间来加载它,在这个时间间隔,即在用户从服务器得到响应之前,如果用户点击注销,它将用户带回到登录页面。
$scope.logout = function(){
//Logout Logic
$state.go('login');
}
。它调用
$stateProvider.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: "loginController"
});
现在当用户试图登录时,服务器响应为获取对话而发出的呼叫,允许用户将他带到/home/conv.html。
我不想禁用Logout
按钮,而数据是从服务器发送到客户端。
有没有办法从/home路由到/login,我们可以取消所有服务器调用?
我从https://github.com/angular-ui/ui-router/wiki:
复制了代码$stateProvider.state("contacts", {
template: '<h1>{{title}}</h1>',
resolve: { title: 'My Contacts' },
controller: function($scope, title){
$scope.title = 'My Contacts';
},
onEnter: function(title){
if(title){ ... do something ... }
},
onExit: function(title){
if(title){ ... do something ... }
}
})
onExit事件将在你离开家时被触发。主到另一条航线。因此,您应该在声明home的地方注册以处理事件。主要路线。在这种情况下,您可以取消所有服务器调用。当您使用套接字时。我建议您使用socket.removeAllListeners();
相关文章:
- d3-js快速事件调用问题
- Node.js-异步方法调用问题
- JavaScript 中的函数调用问题
- AngularJS:http 链调用问题和 NodeJS:在多个 http 调用中使用变量的问题
- IE8 XHTML 在 jQuery ajax 调用问题中返回
- 通过JS Ajax调用问题填充数据
- JSONP函数调用问题
- MVC Ajax调用问题
- IE8切片调用问题-Array.prototype.slice-'这'不是Javascript对象
- JS和SWF调用问题
- OO JavaScript方法调用问题
- 异步调用问题
- Javascript函数调用问题
- 这个fetch调用问题
- MVC 4 -级联下拉列表- Ajax JavaScript调用问题
- AngularJS路由导致服务器调用问题
- 多个imagesLoaded函数css调用问题
- ajax同步调用问题
- HTML5缓存Spring项目Ajax调用问题
- Javascript onclick函数调用问题:won't传递字符串