2017-01-27 7 views
0

入力がフォーカスアウトされているとき、私は 'route'アクションを呼び出さなければなりません。Emberがフォーカスアウトしていないのはなぜですか?

template.js:

{{input value=password type="password" focus-out="passwordValidate" class="form-control"}} 

route.js:

actions : { 
    passwordValidate : function(){ 
     if(this.get('password').length<6){ 
      this.set('validPassword',false); 
     }else{ 
      this.set('validPassword',true); 
     } 
    } 
} 

しかしアクションが呼び出されませんでした。コードで何が間違っていますか?

+1

何も間違っているようです。あなたのemberバージョンは何ですか? – ykaragol

+0

@ykaragol: "ember": "lts-2-8" – AkshayP

+0

アクションはコントローラではなくルータでなければなりません –

答えて

0

あなたはfocus-in

{{input value=password type="password" focus-in="passwordFocus" focus-out="passwordValidate" class="form-control"}} 
  1. チェックそれが正しいルートファイルであるが含まれていませんか?
  2. コントローラファイルにpasswordValidateがありますか?ルーティングにバブリングするためにreturn trueを忘れましたか?
+0

なぜフォーカスインが必要なのですか?私は焦点を当てて行動を呼びたい。 – AkshayP

+0

質問タイトルと混同しました。あなたのコードは正しいはずです。サンプル[twiddle link](https://ember-twiddle.com/6ffd16d03d9a56729a267312910d3fac?openFiles=routes.application.js%2C) – kumkanillam

+0

私は両方の点をチェックしていて、何も間違っているとは思わない – AkshayP

関連する問題