Опция выбора магистрали при инициализации - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть несколько форм в API, которые называются в опциях выбора.Я хочу получить форму первый при инициализации страницы.

HTML выбора параметров:

<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');
 }
}

Итакчто я хочу, как инициализировать, чтобы впервые получить выбранный вариант один (имя формы один) и заполнить все остальные поля данными, которые приходят для этого имени формы?

1 Ответ

0 голосов
/ 11 февраля 2019

Внутри initialize метода View, расширенного от объекта Backbone.View`

, вам потребуется добавить прослушиватель событий, например:

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

.полный пример на моем проекте .

...