Модель переплета addonLeft.text угловатая

Я использую шаблоны начальной загрузки с http://angular-formly.com/, и я хотел связать addonsLeft.text к модели, чтобы она динамически изменялась после изменения опции выбора.

Вот как выглядит вход:

  {
    key: 'my_input',
    type: 'input',
    templateOptions: {
      label: 'Text',
      addonLeft: {
            text: vm.model.select
      }
    }
  }

Из того, что я понял, шаблоны начальной загрузки не создают модель для опции текста / класса, и поэтому изменение модели не повлияет на addonLeft.text,

Найдите нерабочий пример в этой ссылке jsbin.

Я нашел хакерский способ сделать это, но я не уверен, что это правильный путь.

Вот решение в этой ссылке jsbin.


Стоит ли вместо этого создать собственный шаблон, чтобы у него была подходящая модель и т. Д.? Причина, по которой я этого еще не сделал, заключается в том, что уже есть внедренное решение, которое сохранит мой код чище.

1 ответ

Решение

Это идеальный случай для формальных выражений:

{
    key: 'my_input',
    type: 'input',
    templateOptions: {
        label: 'Text',
        addonLeft: {
            text: ''
        }
    },
    expressionProperties: {
      'templateOptions.addonLeft.text': 'model.select' // <- HERE
    }
}

Пример JSBin: http://jsbin.com/tudivi/1/edit?html,js,console,output

Другие вопросы по тегам