, попадающий в AmpersandJs, и имеющий большой шоу-стоп, не выясняя, почему моя подзадача не представляет собой разметку.AmpersandJs: Render sub-view
Мой MainView.render
, работает как следует:
render: function() {
BaseView.prototype.render.apply(this, arguments);
this.collectionView = this.renderCollection(this.collection, HSEventView, '.item-container');
this.renderSubview(new HSEventEditView({
action: 'create'
}), '.create-event');
return this;
},
Далее, мой SubView.render
(HSEventEditView):
render: function() {
this.renderWithTemplate();
this.form = new EditForm({
el: this.query('.edit-form'),
submitCallback: function (data) {
debug('submit', data);
}
});
this.registerSubview(this.form);
debug('render.form.el', this.form.el)
}
И, наконец, мой FormView
:
module.exports = FormView.extend({
initialize: function() {
debug('initialize', this.el)
},
autoRender: true,
fields: function() {
debug('fields!')
var fields = [
new InputView({
label: 'Name',
name: 'name',
value: utils.getDotted(this, 'model.name'),
placeholder: 'Name',
parent: this
})
];
debug('fields', fields)
}
});
MainView и подвид оказывает отлично, но DOM-узел 'div.edit-form', где for m разметка должна быть, пуста.
Я пробовал все варианты включения подсмотра, который я мог бы выкопать, но, очевидно, я ослеплен.
Спасибо!
PS! Вот обработанная разметка:
<section class="page">
<h2>Events collection</h2>
<hr>
<div class="tools">(Tools comming...)</div>
<hr>
<div class="item-container events">
<div class="item event">
<h3>Event: <span data-hook="name">Event 1</span></h3>
</div>
</div>
<hr>
<div class="create-event">
<div class="item event">
<h3>Create event: <span data-hook="name"></span></h3>
<div class="edit-form"></div>
</div>
</div>
</section>
Да, действительно. Я скопировал код из середины редактирования, поэтому у меня это было исправлено, но я приму свой ответ. Основная проблема объясняется здесь: https://github.com/AmpersandJS/ampersand-form-view/issues/49 – Gnimmelf