Backbone.js视图未渲染
Backbone.js view not rendering
在我的Backbone应用程序上,其中一个视图没有按预期呈现。
当用户遵循"test/addtests"路线时,它会调用下面显示的函数
addtests: function () {
this.testView = new TestView();
},
然后,该视图应使用下方显示的初始化功能自动渲染
window.TestView = Backbone.View.extend({
template: _.template($('#test').html()),
initialize: function () {
tests.bind("reset", this.render, this);
},
render: function (eventName) {
alert('asdf');
$(this.el).html(this.template());
_.each(tests.models, function (test) {
this.renderSelectBox(test);
}, this);
return this;
},
renderSelectBox: function (test) {
var optionView = new TFS.FormOptionView({
model: test
});
$(this.el).append(optionView.render().el);
},
events:{
"click button": "addTest"
},
...ect
});
但是什么也没发生,它只是显示最后一页的内容。我在渲染函数中设置的警报也不会触发。然而奇怪的是,如果我点击刷新,警报就会触发:S。
路由设置正确,并正确指向"addtests"函数,似乎只是没有按预期初始化视图。
另外,我发现令人困惑的第二件事是,如果我有一个完整的集合,我就无法使用get方法提取单个模块。例如
players // a full collection
var test = players.get(1);
console.log(test.get('id')); //undefined
:S
Whoops我以为bind函数在调用render,但事实似乎并非如此。
我刚放了
this.render();
在视图初始化功能中,它起作用了。
有人知道为什么我很难从上面的集合中取出一个模块吗??
相关文章:
- angular.js没有'无法在PhoneGap中处理视图标记
- backbone.js无法渲染视图
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 删除移动视图粘性js上的粘性导航栏
- Backbone.js将模型绑定到视图时出错
- 如何在渲染视图时将变量传递给Node.js中的脚本标记
- Backbone.js视图中的多个模型
- 带有jquery插件的backbone.js视图
- node.js/javascript/couchdb视图到关联数组似乎不起作用
- 使用knockout.js将数组绑定到视图模型
- 如何在主干js中解析视图中的消息
- 似乎无法将功能绑定到骨干网中的视图.js
- 嵌套依赖主干.js具有 require.js 主干的视图.js导致视图作为对象而不是函数加载
- 如何在主干中显示视图.js(路由器.js中不显示警报)
- 如何从主干中的视图呈现视图.js
- Extjs 4 -停止控制器试图加载视图js
- “this.model"不工作的点击视图.JS支柱
- MVC部分视图js文件不工作调试
- Rails3视图- JS模板目录结构