как назначить значение внутри {{input}} помощника, а не создавать привязку? - PullRequest
0 голосов
/ 17 ноября 2018

В моем помощнике ввода,

{{input type="text" value=model.name  enter=(action (action 
'sampleFunction' model))}}

Когда я изменяю значение в форме, я хочу отправить только одно значение в действие.Но, model.name также меняется.

Что я должен сделать, чтобы изменилось только «значение», а модель не изменилась?

Ответы [ 3 ]

0 голосов
/ 17 ноября 2018

Ответ несколько зависит от вашей версии Ember. Если вы Ember> = 2.3.1, то я бы рекомендовал использовать <input> изначально:

<input value={{password}} oninput={{action 'setPassword' value="target.value"}} />

С действием:

actions: {
  setPassword(val){
    if(/* only update on some condition */){
        this.set('password', val);
    }
    this.updatePasswordsMatch2();
  }
}

value - это то, что отображается, а аргумент действия - это то, что находится в поле + последний набранный символ.

Если вы Ember 1.13x <=> 2.3.0, взгляните на Ember One way, управляющий , который использовал способность glimmer напрямую использовать <input>. Вам нужно будет использовать библиотеку, так как есть обходной путь для некоторых прыжков с курсором, который не был сглажен до 2.3.1.

Если вы <1.13x, обновитесь? Если вы на самом деле, прокомментируйте, и я постараюсь что-то придумать </p>

0 голосов
/ 20 ноября 2018

{{input type = "text" value = model.name oninput = (действие 'sampleFunction' model.name)}}

0 голосов
/ 17 ноября 2018

Ember имеет систему двусторонней привязки.Вы можете использовать помощник Ember readonly, чтобы присвоить компоненту значение в виде односторонней привязки, например:

value=(readonly model.name)

. Вы можете взглянуть на этот твидл .

...