2015-11-30 2 views
0

У меня есть один ItemView, то я посылаю бросить .trigger() на другой контроллерпересборку ItemView бросить контроллер

Сообщение Просмотр

Bintime.module("Message.Input", function(Input, Bintime, Backbone, Marionette, $, _) { 
    Input.Contacts = Marionette.ItemView.extend ({ 
     template: "#new", 
     events: { 
      "change input#message-input": "sendInput" 
     }, 
     sendInput: function(e){ 
      e.preventDefault(); 
      var message = this.$("input#message-input").val(); 
      this.model.get("messages").push({ 
       to: "1", 
       message: message 
      }); 
      this.render(); 
      this.trigger("chat:contacts", this.model); 
     } 
    }); 
}); 

Контроллер Сообщение

Bintime.module("Message.Input", function(Input, Bintime, Backbone, Marionette, $, _) { 
    Input.Controller = { 
     messageField: function(model){ 
      var contacts = new Input.Contacts({ 
       model: model 
      }); 

      contacts.on("childview:chat:contacts", function(childView, model) { 
       Bintime.Contacts.Messages.Controller.chatMessages(model); 
      }); 

      Bintime.regions.input.show(contacts); 
     } 
    } 
}); 

И вот чат-контроллер

Bintime.module("Contacts.Messages", function(Messages, Bintime, Backbone, Marionette, $, _) { 
    Messages.Controller = { 
     chatMessages: function(model){ 
      var contacts = new Messages.Contact({ 
       model: model 
      }); 

      Marionette.Renderer.render("#message", model); 

      Bintime.regions.messages.show(contacts); 
     } 
    } 
}); 

Это все верно, и должен работать с Marionette.Renderer.render("#message", model);

Или я должен использовать другой метод, чтобы работать с этим?

ответ

0

Я не 100% уверен, что вы делаете с визуализатора, но одна проблема в том, что ваш ItemView не собирается префиксом свои события с "childview:" так, что связывание должно выглядеть как contacts.on("chat:contacts"

Кроме того, вместо Bintime.Contacts.Messages.Controller.chatMessages (модель); вы можете выбросить событие Wreqr/Radio, которое может прослушивать другой модуль .. но я думаю, что самая большая проблема здесь заключается в том, что «childview: chat: contacts» не является событием, которое бросается.