Javascript 创建视图的主干视图
事情是这样的。我正在制作一个使用backboneJS的应用程序。我当前创建了一个不同行的列表。每行都有一个编辑按钮和一个删除按钮,编辑按钮的功能是Javascript 创建视图的主干视图,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,事情是这样的。我正在制作一个使用backboneJS的应用程序。我当前创建了一个不同行的列表。每行都有一个编辑按钮和一个删除按钮,编辑按钮的功能是editRow,删除按钮的功能是removeow。当前editRow工作,它创建了一个新视图,在本例中是一个modalWindow及其app.EditRowView。这个视图还有一个我无法绑定的按钮。未绑定的函数是modalWindow。 有什么线索吗?我的逻辑错了吗?视图不应该创建其他视图吗? 如往常一样,我们非常感谢您的帮助 app.FormRow
editRow
,删除按钮的功能是removeow
。当前editRow工作,它创建了一个新视图,在本例中是一个modalWindow及其app.EditRowView。这个视图还有一个我无法绑定的按钮。未绑定的函数是modalWindow。
有什么线索吗?我的逻辑错了吗?视图不应该创建其他视图吗?
如往常一样,我们非常感谢您的帮助
app.FormRowView = Backbone.View.extend({
tagName:'li',
events: {
"click .danger" : "removeRow",
"click .primary" : "editRow"
},
initialize:function(){
var template =this.model.get('temp');
_.bindAll(this, 'render');
this.model.bind('change', this.render);
this.template = _.template($("#"+template).html());
},
render:function(){
var renderedContent = this.template(this.model.toJSON());
$(this.el).html(renderedContent);
$(function() {
$( ".sortable" ).sortable();
$( ".sortable" ).disableSelection();
});
return this;
},
removeRow:function(){
$(this.el).remove();
},
editRow:function(){
var view = new app.EditRowView({
model:this.model,
collection: this.collection
});
$("body").append(view.render().el);
return this;
}
});
app.EditRowView = Backbone.View.extend({
events: {
"click .save" : "modalWindow"
},
initialize:function(){
var template =this.model.get('editScreenTemplate');
_.bindAll(this, 'render');
this.model.bind('change', this.render);
this.template = _.template($("#"+template).html());
},
render:function(){
var renderedContent = this.template(this.model.toJSON());
$(this.el).html(renderedContent);
return this;
},
modalWindow:function(){
alert("im in");
}
});
app.FormRowView=Backbone.View.extend({
标记名:'li',
活动:{
“点击。危险”:“移除工具”,
单击.primary:“编辑行”
},
初始化:函数(){
var template=this.model.get('temp');
_.bindAll(这是“呈现”);
this.model.bind('change',this.render);
this.template=..template($(“#”+template.html());
},
render:function(){
var renderedContent=this.template(this.model.toJSON());
$(this.el).html(renderedContent);
$(函数(){
$(“.sortable”).sortable();
$(“.sortable”).disableSelection();
});
归还这个;
},
removeRow:函数(){
$(this.el).remove();
},
editRow:函数(){
var view=new app.EditRowView({
模特儿:这个模特儿,
收藏:这个。收藏
});
$(“body”).append(view.render().el);
归还这个;
}
});
app.EditRowView=Backbone.View.extend({
活动:{
“单击。保存”:“modalWindow”
},
初始化:函数(){
var template=this.model.get('editScreenTemplate');
_.bindAll(这是“呈现”);
this.model.bind('change',this.render);
this.template=..template($(“#”+template.html());
},
render:function(){
var renderedContent=this.template(this.model.toJSON());
$(this.el).html(renderedContent);
归还这个;
},
modalWindow:函数(){
警报(“即时消息”);
}
});
基本上,现在发生的是modalWindow函数从不启动。我在UI中有正确的元素(一个带有class.save的按钮)嘿,伙计们,所以我把它弄出来了。我需要指定一个标记名,以便委托事件绑定到该视图。。。 无论如何谢谢你