如何在使用EmberFire成功登录后进入新页面?
问题描述:
我试图在使用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来说也很新颖。
答
当一个像
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
页面文件应该处理的动作,一些东西。
你使用torii作为你的auth库吗? – Falke
@Falke是使用torii适配器 – Nish