使用 Firebase 和 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 也很陌生。
最佳答案
当使用“密码”作为您的提供程序时,登录页面 controller.js
文件应处理该操作,例如
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);
});
}
}
});
在 Controller 中,您可以使用 this.transitionToRoute()
转到所需的页面。
关于javascript - EmberFire登录成功后如何进入新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41352700/