我正在尝试构建一个自动轮播作为Backbone.js View,以便它经常滑动。理想情况下,我想要的是计时器事件。像
这样的东西events{
"timer 5000" : "slide"
}
我没有看到这种情况发生。我尝试从外面解雇这个功能。
window.setInterval(carouselView.slide, 5000);
有效。但是,我无法再访问该视图的实例。如果我执行了console.log(this);
,它会给我Window
。我想这是因为该函数是从Window
而不是从视图实例调用的。
非常感谢任何帮助。
答案 0 :(得分:3)
我现在意识到这是一个老问题,但你可以不加约束地做到这一点。
(function(view) {
window.setInterval(function() { view.slide(); }, 5000);
})(this);
如果你坚持在你的视图初始化它应该工作。它的作用基本上是创建一个闭包,这样你仍然可以访问setInterval块中的视图。
我同意像“计时器5000”这样的计时器事件:“幻灯片”对于Backbone来说是一个很好的功能,因为我在这里搜索我的方式寻找与此完全相同的东西。
答案 1 :(得分:1)