[英]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
糟糕的是,bind函数调用了render,但事实并非如此。
我刚放
this.render();
在视图初始化函数中,它起作用了。
有谁知道为什么我无法从上面提到的集合中提取单个模块?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.