Marionette model.fetch()无法按预期工作

时间:2014-09-30 05:09:34

标签: backbone.js marionette

我想在我的视图中检索特定ID号的模型。以下是我的控制器的样子(API工作正常):

控制器

var EventController = Marionette.Controller.extend({
    initialize: function(options){
        this.model = options.model;
        this.mainRegion = options.mainRegion;
    },

    edit: function(id) {
        var _me = this;
        //this is my model
        var event = new Event({
            id: id
        });
        event.fetch({
            success: function(){
                 //this is my layout
                _me.eventLayout = new EventView({
                    model: event
                });
                _me.mainRegion.show(_me.eventLayout);
            }
        });
     }
});

场景如下:

  • 我的控制器功能正在使用路由器调用。
  • 我的主要布局,即eventLayout包含一些在Marionette中都是eventViews的区域。
  • model.fetch成功,我可以看到从API获取的详细信息。
  • 邮件布局的所有子视图都会完美呈现。
  • 无法渲染主要布局模板的数据。它只是渲染而不是数据的DOM。

1 个答案:

答案 0 :(得分:0)

试试这个:

edit: function (id) {
   var _me = this, event, eventView;

   event = new Event({ id: id });
   eventView = new EventView({ model: event });

   event.fetch().done(function () {
       _me.mainRegion.show(eventView);
   });
}