Я просто понял, что неправильно понял атрибут el
Backbone.View
. В основном мои представления требуют динамических атрибутов id
, основанных на его атрибуте модели. Я думал, что это работает нормально, потому что я просто указал его в своем шаблоне:
<script type="text/template" id="item_template">
<li class="item" id="{{identifier}}">
<span class="name">{{name}}</span>
</li>
</script>
Однако, я понял, что то, что на самом деле делал Backbone, это поместить этот скомпилированный шаблон в другой элемент div
по умолчанию. Об этом я узнал, прочитав документацию, но я все еще смущен тем, как создать динамический id
.
Предпочтительно, я хотел бы найти способ сделать так, чтобы материал в приведенном выше шаблоне служил моим el
, поскольку у него уже есть все, что я хочу, но я не знаю, возможно ли это. Поэтому мне интересно, просто ли указать динамический атрибут id
.
Я попытался установить его в методе initialize
, this.id = this.model.get('attr')
, но это не показало никакого эффекта, возможно, потому что к этому времени уже слишком поздно.
В настоящее время я использую jQuery для добавления id
во время render()
:
this.el.attr(id: this.model.get('identifier'));
он работает, но, конечно, я просто спрашиваю, есть ли предпочтительный способ сделать это через Backbone.