Живые действия в Ember - PullRequest
       4

Живые действия в Ember

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

Как мы можем реализовать живые действия в ember без перезагрузки или нажатия кнопки действия?

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

1 Ответ

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

См. тиддл или гист .Есть много разных подходов.

1).Привязать действие к событию oninput двух полей ввода

<input value={{password2}} oninput={{action 'setPassword2' value="target.value"}} />
<input value={{passwordConfirm2}} oninput={{action 'setPasswordConfirm2' value="target.value"}} />

с помощью обработчиков пользовательских действий, которые вызывают функцию при вводе:

actions: {
  setPassword2(val){
    this.set('password2', val);
    this.updatePasswordsMatch2();
  },
  setPasswordConfirm2(val){
    this.set('passwordConfirm2', val);
    this.updatePasswordsMatch2();
  }
},
updatePasswordsMatch2(){
  this.set('passwordsMatch2', this.get('password2') === this.get('passwordConfirm2'));   
}

2).То же, что и выше, но используйте onchange, если вы хотите, чтобы событие происходило только при размытии + изменение

3).Двухстороннее связывание (способ старой школы) с вычисленными свойствами с соблюдением пароля и подтверждения:

passwordsMatch: computed('password', 'passwordConfirm', function(){
   return this.get('password') === this.get('passwordConfirm'); 
})
...