灰烬中的真实动作

时间:2018-11-12 14:30:16

标签: ember.js ember-cli

如何在余烬中执行实时操作而无需重新加载或按下操作按钮?

例如,如果我要填写表格更改密码, 在确认密码输入中,我需要生动地检查这两个密码的匹配情况(无需按任何按钮) 这只是一个例子吗? 我该如何实现呢?

1 个答案:

答案 0 :(得分:2)

请参见twiddlegist。有很多不同的方法。

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)。具有计算属性的2way绑定(旧学校余烬方式),同时观察密码和确认:

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