我知道当模型和模板分离时,处理模型很容易。 但是,当我在 View 中附加模板并向其传递模型时,我想触发一个事件来销毁我传递的模型。部分代码如下:
ImageView.extends Marionette.ItemView
events:
'click [data-event=delete]' : 'delete'
ui:
'image' : 'div[name=image]'
template : """
<img src='<%=image.get('url')%>' />
<a data-event=delete>X</a>
"""
addImage : (image) ->
@ui.image.append _.template(@template)({ image: image })
delete : -> //I can trigger this event, but no idea how to pass the image model in order to
//delete it
upload.destory()
图片正常显示,说明模板收到了模型,但是如何在触发的事件中传递图片模型呢?
最佳答案
您应该使用Marionette.ItemView's callback methods这将帮助您销毁图像模型
。
ItemView 的 onRender
回调将是正确的选择。
var ImageView = Marionette.ItemView.extend({
// you initialization, ui bindings, etc
onBeforeRender: function () {
// Triggered before an ItemView is rendered.
},
// Here you can destroy your model
onRender: function () {
// Triggered after the view has been rendered.
this.model.destroy();
}
});
onRender
将在 View 呈现后调用,并且 this.model.destroy()
将销毁与当前 ItemView
关联的模型>。
关于javascript - 如何处理通过附加下划线模板传递的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24611609/