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

Как указать атрибуты данных шаблонов Marionette?

Здесь я нахожусь в начале проекта. Я использую zurb-основу и марионетку. У меня есть элемент, который создает шаблон, который должен быть вкладками. Как это видно:

define([
  "backbone",
  "marionette"
], function(Backbone, Marionette) {

  MyItem = Backbone.Marionette.ItemView.extend({
    template: "#design-tabs",
    className: "section-container tabs",

    onRender: function() {
      $(this.el).foundation();
    }
  });

  return MyItem;
});

нет вкладок. Я думаю, это связано с тем, что при визуализации заменять тег в шаблоне не имеет конкретного атрибута данных (раздел данных). Я искал что-то вроде "className", которое я мог бы добавить к объявлению ItemView выше, чтобы включить атрибуты данных, но я придумал сухую. Мне нужно что-то вроде:

MyItem = Backbone.Marionette.ItemView.extend({
  template: "#design-tabs",
  data: {
    data-section: "",
    data-foo: "bar"
  },
  className: "section-container tabs",
  .
  .
  .

Как добавить атрибуты данных в (или иначе), который заменяет шаблон в шаблоне?

4b9b3361

Ответ 1

Чтобы добавить свойства данных, используйте Backbone attributes hash:

var MyView = Backbone.Marionette.ItemView.extend({
  template: "#design-tabs",
  className: "section-container tabs",
  attributes: {
    "data-section": "",
    "data-foo": "bar"
  }
});

Документация: http://backbonejs.org/#View-attributes

Ответ 2

Если вы предпочитаете или нуждаетесь в динамических значениях, вы можете сделать это следующим образом:

attributes = function() {
  return {
    'src': this.model.get('avatar_src')
  };
}