Backbone select 初始化选项

Backbone select option in initialize

我在 API 中有一些表格,这些名称在 select 选项中被调用。我想在页面初始化的时候第一次得到form one

HTML 个 select 选项是:

<fieldset>
   <label class="float-left" for="dropdown1">{{locale "forms"}}</label>
   <select id="dropdown1" class="form-control">
     {{#each options}}
      <option value="{{id}}">{{formType}} - {{name}}</option> <br>
      {{/each}}
   </select>
</fieldset>

我还有一个名为 ModelForm 的模型,我已经以这种方式实例化了模型(因为我需要以这种方式)

initialize() {
  this.collection = new ModelForm();
  this.model = new ModelForm();
  this.synced = false;
  this.id = undefined;
}

我创建了一个函数,可以在发生变化时调用模型和集合,并且可以正常工作。

getSelectedOption(ev) {
ev.preventDefault();
const modelFormId = +ev.target.value;
if (modelFormId) {
  this.id = modelFormId;
  this.model.set({ ...this.collection.get(modelFormId).toJSON() });
  this.$('.page-actions').css('display', 'block');
 }
}

所以我再次想要的是,如何在第一次初始化它以获得 selected 选项一(表单名称一)并使用此表单名称的数据填充所有其他字段?

在从 Backbone.View` 对象扩展的 Viewinitialize 方法中

您需要添加事件侦听器,例如:

this.listenTo(this.model, 'sync', this.renderOptions);

您可以在我的 project 查看完整示例。