Подтвердить что ты не робот

Как подключить Магистральный вид к шаблону ручек метеор?

Похоже, Backbone.view, метеор и рули имеют функции перекрытия, когда дело доходит до манипулирования разделом DOM. Я посмотрел на приложение ToDo, которое, как предполагается, использует Backbone, но на самом деле они используют только маршрутизатор.

Макинтошные представления также касаются шаблонов... но они звучат так сильно, как у метеорных шаблонов. Кроме того, похоже, что и магистраль, и метеор могут обновить ui при обновлении модели.

ОК, я потерян!? Кто что делает?

Является ли Backbone действительно полезным для приложения Meteor? Могут ли сосуды и опорные стержни сосуществовать? и если они могут в контексте Meteor подключить представление Backbone к шаблону рулей?

РЕДАКТИРОВАТЬ: нашел пример todo-backbone. кажется, что вы можете пойти либо:

  • шаблоны метеор + основа + подчеркивание
  • или... метеор + руль

метеор + магистраль + руль не кажется жизнеспособным вариантом...

Спасибо

4b9b3361

Ответ 1

Это очень легко и не требует больше усилий, чем использование шаблона Underscore. Вот пример файла .html:

<template name="user_list">
<ul>
  {{#each users}}
  <li>{{name}}</li>
  {{/each}}
</ul>
</template>

И вот пример .js файла:

Users = new Meteor.collection("users");

if (Meteor.is_client) {
  Template.user_list.users = function() {
    return Users.find();
  }

  window.UserView = Backbone.View.extend({
    initialize: function() {
      _.bindAll(this, 'render');
    },
    template: function() {
      Meteor.ui.render(function() {
        return Template.user_list();
      });
    },
    render: function() {
      $(el).empty().append(this.template());
    }
  });
}

Затем вы можете использовать Маршрутизатор или другое представление для управления, когда вы хотите отображать UserView так же, как и в любом другом приложении Backbone.js.

Ключ должен использовать Meteor.ui.render или другой метод Meteor.ui для визуализации HTML, чтобы он был реактивным.