我在浏览器中使用window.innerWidth
和window.innerHeight
,我希望缓存这些值以防止每次访问它们时重新绘制。我使用browserify进行捆绑,所以我写了这个模块:
var w = window.innerWidth;
var h = window.innerHeight;
var timeout = false; // holder for timeout id
var delay = 250; // delay after event is "complete" to run callback
// window.resize callback function
function setDimensions() {
w = window.innerWidth;
h = window.innerHeight;
}
// window.resize event listener
window.addEventListener('resize', function() {
clearTimeout(timeout);
timeout = setTimeout(setDimensions, delay);
});
module.exports = { w, h }
但是,导入时,在调整视口大小时不会更新尺寸。我该如何解决这个问题?
答案 0 :(得分:0)
使用module.export导出变量时,您将获得变量的副本而不是引用。当您更新局部变量w和h时,导出不会改变。