我正在使用backbone.js 创建一个单页应用程序。我是骨干新手,所以请原谅任何错误的语义。
我的问题是渲染视图时。
最初,我的 index.html 中有一个执行某些 dom 操作(图像滑块)的 javascript。
JS 包含在 $(window).load() 中,因此启动时一切正常。除非从 url 加载页面,否则代码显然不会执行。代码不会从主干视图或路由器运行。所以页面加载时没有 dom 操作。
我试图将我的代码插入到视图中的渲染和初始化函数中,但无济于事。我应该将此代码添加到路由器吗?这似乎有点骇人听闻。
我应该在哪里包含“dom ready”代码?和/或是否有更好的方法来管理主干中加载的视图及其 dom 元素?
编码:
主页.js
window.HomeView = Backbone.View.extend({
initialize:function () {
this.render();
},
render:function () {
$(this.el).html(this.template());
this.startOrbits();
return this;
},
startOrbits:function(){
$(window).load(function() {
$('#orbit-main').orbit({ fluid: '16x6', swipe:true });
$('#orbit-news').orbit({ fluid: '8x6', bullets: true, directionalNav:false, captions:true, advanceSpeed: 9000});
});
},
});