2017-10-19 15 views
0

J'ai un formulaire dans mon application de triage, ce formulaire a un itinéraire avec une action sur. Je veux saisir mes valeurs d'email et de mot de passe et faire quelque chose avec eux.Obtenir les valeurs de forme de l'itinéraire ember

Cependant, je ne peux pas saisir les valeurs en utilisant this.get ('email'); que je pensais travailler. Comment puis-je obtenir les valeurs et les utiliser dans mon action? En ce moment, il les définit simplement comme vides.

Voici mon modèle.

<div class='page-header'> 
    <h1>Login</h1> 
</div> 
{{input 
    type='text' 
    class='form-control' 
    value=email 
    placeholder='email' 
}} 
{{input 
    type='password' 
    class='form-control' 
    value=password 
    placeholder='password' 
}} 
<button 
    class='btn btn-default' 
    {{action 'login'}} 
> 
    Login In 
</button> 

Voici ma route et mon action.

export default Ember.Route.extend({ 
    firebaseApp: Ember.inject.service(), 
    actions: { 
    login() { 
     const auth = this.get('firebaseApp').auth(); 
     let email = this.get('email') || ''; 
     let password = this.get('password') || ''; 
     auth.signInWithEmailAndPassword(email, password) 
     .then(() => { 
     console.log("signed in this works"); 
     }) 
     .catch(function (error) { 
     console.log(error); 
     }); 
    } 
    } 
}); 
+0

Les attributs email et mot de passe du modèle utilisateur? –

Répondre

1

Lorsque vous utilisez this.get() dans un Route, this est le Route. Lorsque vous utilisez une expression dans un modèle comme {{input value=password}}, la variable est dans le contrôleur.

De l'Route, vous avez besoin d'accéder à ces variables ainsi: this.controller.get('password')

Hope this helps.