【问题标题】:backbone views that create views创建视图的主干视图
【发布时间】:2012-02-23 18:48:59
【问题描述】:
所以事情就是这样。我正在制作一个使用backboneJS 的应用程序。我目前创建了一个不同行的列表。每行都有一个功能为editRow 的编辑按钮和一个功能为removeRow 的删除按钮。当前 editRow 工作,它创建新视图,在这种情况下是 modalWindow 及其 app.EditRowView。这个视图有另一个我根本无法绑定的按钮。没有被绑定的函数是modalWindow。
有什么线索吗?我的逻辑错了吗?视图不应该创建其他视图吗?
像往常一样非常感谢任何帮助。
app.FormRowView = Backbone.View.extend({
标记名称:'li',
事件:{
"点击 .danger" : "removeRow",
“点击.primary”:“editRow”
},
初始化:函数(){
var template =this.model.get('temp');
_.bindAll(this, 'render');
this.model.bind('改变', this.render);
this.template = _.template($("#"+template).html());
},
渲染:函数(){
var renderContent = this.template(this.model.toJSON());
$(this.el).html(renderedContent);
$(函数(){
$( ".sortable" ).sortable();
$( ".sortable" ).disableSelection();
});
返回这个;
},
删除行:函数(){
$(this.el).remove();
},
编辑行:函数(){
var view = new app.EditRowView({
模型:this.model,
集合:this.collection
});
$("body").append(view.render().el);
返回这个;
}
});
app.EditRowView = Backbone.View.extend({
事件:{
“点击.save”:“modalWindow”
},
初始化:函数(){
var template =this.model.get('editScreenTemplate');
_.bindAll(this, 'render');
this.model.bind('改变', this.render);
this.template = _.template($("#"+template).html());
},
渲染:函数(){
var renderContent = this.template(this.model.toJSON());
$(this.el).html(renderedContent);
返回这个;
},
模态窗口:函数(){
警报(“我在”);
}
});
基本上发生的事情是函数 modalWindow 永远不会触发。我在 UI 中有正确的元素(一个带有 .save 类的按钮)
【问题讨论】:
标签:
javascript
jquery
backbone.js