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页面文件应该处理的动作,一些东西。

相关问题