1

FirebaseとEmberFireを使用してログインに成功した後、新しいページに移動しようとしています。以下はEmberFireでのログインに成功した後、新しいページに移動するには?

は、ページ内の私の看板の下

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    actions: { 
    signIn(provider) { 
     let controller = this; 
     this.get('session').open('firebase', { 
     provider: provider, 
     email: this.get('email') || '', 
     password: this.get('password') || '', 
     }).then(() => { 
     controller.set('email', null); 
     controller.set('password', null); 
     }, (error) => { 
     console.log(error); 
     }); 
    } 
    } 
}); 

のための私のcontroller.jsあるページでは、私の兆候以下

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    login: function() { 
    let controller = this.get('controller'); 
    let email = controller.get('userEmail'); 
    let password = controller.get('userPassword'); 
    this.get('session').open('firebase', { 
    provider: 'password', 
    email: email, 
    password: password 
    }).then(function() { 
    this.transitionTo('protected'); 
    }.bind(this)); 
} 
}); 

のための私のroute.jsは私template.hbs

{{outlet}} 

<form class="login"> 
    <h3>Log in to BettorHalf</h3> 
    {{input 
     type='text' 
     class='form-control' 
     value=email 
     placeholder="Email address" 
    }} 
    {{input 
    type='password' 
    class='form-control' 
    value=password 
    placeholder='password' 
}} 
<button 
    class="signinbtn" 
    {{action 'signIn' 'password'}} 
> 
    {{ 'sign-in'}} Sign In 
</button> 
</form> 
です

私はFirebaseの認証を使用して人をログインさせようとしていて、その人に人を移す新しいページに行きますユーザに付随する関連データを照会することにより、

ご迷惑をおかけして申し訳ありませんが、私はEmberとFirebaseの新しいコーディングと新機能です。

+0

あなたの認証ライブラリとして鳥居を使用していますか? – Falke

+0

@Falkeはい、鳥居アダプターを使用します。 – Nish

答えて

1

あなたのプロバイダとしてログインページ「をパスワード」を使用している場合controller.jsファイルがアクションを処理する必要があり、あなたは後藤に目的のページをthis.transitionToRoute()を使用するコントローラ内

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
actions: { 
    signIn() { 
     let controller = this; 
     this.get('session').open('firebase', { 
      provider: 'password', 
      email: this.get('email') || '', 
      password: this.get('password') || '', 
     }).then(() => { 
      controller.set('email', null); 
      controller.set('password', null); 
      this.transitionToRoute('profile'); 
     }, (error) => { 
      console.log(error); 
     }); 
    } 
} 
}); 

のようなもの。

関連する問題