1

我試圖在使用Firebase和EmberFire成功登錄後進入新頁面。如何在使用EmberFire成功登錄後進入新頁面?

下面是我controller.js我的登錄頁面

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); 
     }); 
    } 
    } 
}); 

下面是我route.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)); 
} 
}); 
下面

是我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

你使用torii作爲你的auth庫嗎? – Falke

+0

@Falke是使用torii適配器 – Nish

回答

1

當一個像

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); 
     }); 
    } 
} 
}); 

內的控制器使用this.transitionToRoute()來轉到所需的頁面使用「密碼」作爲您的供應商登錄controller.js頁面文件應該處理的動作,一些東西。

相關問題