根据firebase示例重置用户的密码:
reset: function (email) {
var ref = new Firebase(FIREBASE_URL);
ref.resetPassword({
email: email
}, function (error) {
if(error) {
$rootScope.message = '';
switch(error.code) {
case "INVALID_USER":
$rootScope.error = "The specified user account does not exist.";
break;
default:
$rootScope.error = "Error resetting password:" + error;
}
} else {
$rootScope.error = '';
$rootScope.message = "Thank you, you should receive an email containing your new password."
}
});
html页面包含以下内容:
<p ng-show="message">{{message}}</p>
<p ng-show="error">{{error}}</p>
奇怪的是,即使执行了重置方法,消息也只会在被调用两次后出现?
我尝试用$rootScope.apply()
方法包装resetPassword回调的if / else,但没有改变任何内容。
我错过了什么?
答案 0 :(得分:0)
感谢Nishi的评论,通过在重置回调方法结束时添加$ rootScope。$ apply(),它有效。