我是聚合物的新手,我有一些问题。我的聚合物注册页面有以下代码聚合物代码。
Polymer({
is: 'my-register',
properties: {
message: {
type: String,
value: '',
},
email:{
type: String,
value: '',
},
password: {
type: String,
value: '',
},
user: {
type: Object,
notify: true,
},
customUser: {
value: {},
notify: true,
},
},
loginSuccess: function(){
this.customUser['status'] = 1;
if(this.customUser['status'] == 1 && this.message == ""){
console.log("done");
// this.$.ironLocation.set('path', '/profile');
}
},
createUserWithEmailAndPassword: function() {
this.error = null;
this.$.auth.createUserWithEmailAndPassword(this.email, this.password)
.then(function(response) {
this.loginSuccess();
console.log("success");
})
.catch(function(error) {
console.log("Error");
});
this.password = null;
},
ready: function(){
this.customUser['status'] = 0;
},
handleError: function(e) {
this.message = 'Error: ' + e.detail.message;
},
signOut: function() {
this.error = null;
this.$.auth.signOut();
},
});
问题是我无法从createUserWithEmailAndPassword成功函数调用loginSuccess函数。是否可以从firebase-auth create函数访问外部方法?
有没有办法跟踪firebase用户对象中的自定义属性,而不是创建第二个自定义用户对象?我不认为这是非常有效的,因为我必须在整个应用程序中访问这两个属性。
答案 0 :(得分:1)
你可以试试这个..
createUserWithEmailAndPassword: function () {
var self = this;
// Or ES6
// let self = this;
this.error = null;
this.$.auth.createUserWithEmailAndPassword(this.email, this.password)
.then(function (response) {
self.loginSuccess();
console.log("success");
}).catch(function (error) {
console.log("Error");
});
this.password = null;
}
我使用这个技巧并为我工作。
干杯..!