Javascript 如何执行模型';当插件事件被触发时,是否从Backbone.js中的视图中删除函数?
我有下一个代码:Javascript 如何执行模型';当插件事件被触发时,是否从Backbone.js中的视图中删除函数?,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我有下一个代码: var Contents = Backbone.View.extend({ events: { "click #addAll": "addContent" }, initialize: function() { _.bindAll(this); this.model = new ContentCollection(); this.model.on("add", thi
var Contents = Backbone.View.extend({
events: {
"click #addAll": "addContent"
},
initialize: function() {
_.bindAll(this);
this.model = new ContentCollection();
this.model.on("add", this.contentAdded);
},
addContent: function(event) {
this.model.add({ modelName: "all"});
//Plugin event
$('select').switchify().data('switch').bind('switch:slide', function(e,type){
//Do something
});
},
contentAdded: function(content) {
if (content.view == null) {
var template_name;
switch(content.get("modelName")){
case 'all': template_name = 'home'; break;
}
content.view = new ContentView({
model: content, template: //template
});
$(".box").empty();
content.functionModel();
//render template
}
},
});
单击按钮(#addAll
)时,模型将添加到集合中,然后创建视图,调用函数模型
,并呈现模板。
我想在插件事件完成时执行
funtionModel()
,但这是调用函数所需的特定模型的必要内容。该插件在contentAdded
中不起作用,我不能100%确定我是否正确理解了您的问题,但我想您需要在addContent
方法中获得Content
模型的参考。我希望这是正确的
不允许像现在这样使用集合.add
方法为您创建模型:
this.model.add({ modelName: "all"});
分别初始化模型:
var content = new ContentModel( modelName: "all" });
this.model.add(content);
当您有一个局部变量(content
)时,它也可以在插件事件处理程序回调的范围内访问。以下方面应起作用:
addContent: function(event) {
var content = new ContentModel( modelName: "all" });
this.model.add(content);
$('select').switchify().data('switch').bind('switch:slide', function(e,type){
content.functionModel();
});
},
你的解释有点难以理解。你能试着更详细地描述这个问题吗:什么不起作用?当(插件的)事件发生时(
$('select').switchify().data('switch').bind('switch:slide',function(e,type){});
)类似的任何东西:content.functionModel()应执行代码>。你明白吗?对不起,我说的是英语,这是解决办法。谢谢