如何处理模型通过附加下划线模板

How to handle the model passing through appended Underscore template

本文关键字:下划线 模型 何处理 处理      更新时间:2023-09-26

我知道当模型和模板分开时很容易处理模型。但是,当我在视图中添加模板并将模型传递给它时,我想触发一个事件来销毁我传递的模型。以下是部分代码:

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()

图像显示正确,这意味着模板收到了模型,但是我如何在触发事件中传递图像模型?

你应该用木偶。ItemView的回调方法,这将帮助您销毁Image model .

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将在视图渲染后被调用,this.model.destroy()将破坏与当前ItemView相关的模型。