我每隔2秒轮询一次我的数据,以便在页面上更新它们.我的问题是当我访问另一个页面时,超时保持活动状态.当我访问新页面时,如何取消暂停?
function IndexCtrl($scope, $timeout, RestData) {
$scope.rd = {};
(function getRestDataFromServer() {
RestData.query(function(data){
$scope.rd = data;
$timeout(getRestDataFromServer, 2000);
});
})();
}
Run Code Online (Sandbox Code Playgroud)
//编辑我找到了一个解决方案,但我不确定它是不是一个好的解决方案.当我将超时保存到$ rootScope时,我可以在所有其他控制器中取消它.
function IndexCtrl($scope, $rootScope, $timeout, RestData) {
$scope.rd = {};
(function getRestDataFromServer() {
RestData.query(function(data){
$scope.rd = data;
$rootScope.prom = $timeout(getRestDataFromServer, 2000);
});
})();
}
function newPageCtrl($scope, $rootScope, $timeout) {
$timeout.cancel($rootScope.prom);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用我的Jade布局获取Bootstrap下拉列表.但实际上,当我尝试执行$(".dropdown-toggle")时,我遇到了这个错误.我的Jade-File中的下拉列表:
$ is undefined
$(".dropdown-toggle").dropdown is not a function
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误消息?
layout.jade
!!! 5
html
head
title= title
link(rel='stylesheet', href='/lib/bootstrap/css/bootstrap.min.css')
script(src='lib/bootstrap/js/bootstrap.min.js')
script(src='lib/jquery/jquery-1.7.1.min.js')
meta(name='viewport', content='width=device-width', initial-scale='1.0')
body!= body
Run Code Online (Sandbox Code Playgroud)
index.jade
div.navbar.navbar-fixed-top
div.navbar-inner
div.container
a(data-toggle='collapse',data-target='.nav-collapse').btn.btn-navbar
a(href='#').brand #{title}
div.nav-collapse
ul.nav
li.active
a(href='#') Home
li
a(href='#') Blog
li
a(href='#') Contact
li(id='menu1').dropdown
a(data-toggle='dropdown', href='#menu1').dropdown-toogle Dropdown
b.caret
ul.dropdown-menu
li
a(href='#') Test
li
a(href='#') Test2
script
$('.dropdown-toggle').dropdown()
Run Code Online (Sandbox Code Playgroud) 我目前正在寻找一种替代方案来使用 socket.io 扩展我的 Express 应用程序。问题是我不想使用 redis 作为 socket.io 存储。除了Clusterhub之外,还有其他可能性来集群 socket.io 吗?
编辑:我尝试使用fakeredis作为 redis 的替代品,但它似乎不适用于 socket.io。从ActionHero.js我知道 faye-websocket 可以与 fakeredis 配合使用。