如何使用默认用户模型实现带FireLoop的resetPassword?

问题描述:

所以在我的/xyz.component.ts中,我从/user.ts调用了resetPassword方法。在LoopBack文档中它说:如何使用默认用户模型实现带FireLoop的resetPassword?

调用User.resetPassword最终会发出resetPasswordRequest事件并创建一个临时访问令牌。

但是,如何捕捉事件?如果我尝试应用.on('resetPasswordRequest',()=> {....}),它会告诉我UserApi没有'on'。


/xyz.component.ts

private resetPassword(){ 
 
    this.userApi.resetPassword({email: this.userName}).subscribe((data : any)=>{ 
 
     console.log(data); 
 
    },(error : any) => { 
 
     this.error = error; 
 
     } 
 
    ); 
 
    console.log("error: " , this.error); 
 
    }

/user.ts

public resetPassword(options: any, customHeaders?: Function): Observable<any> { 
 
    let _method: string = "POST"; 
 
    let _url: string = LoopBackConfig.getPath() + "/" + LoopBackConfig.getApiVersion() + 
 
    "/Users/reset"; 
 
    let _routeParams: any = {}; 
 
    let _postBody: any = { 
 
     options: options 
 
    }; 
 
    let _urlParams: any = {}; 
 
    let result = this.request(_method, _url, _routeParams, _urlParams, _postBody, null, customHeaders); 
 
    return result; 
 
    }

MROALI非常善良的帮我解决了我在GitHub上的问题。 所以,你需要怎样做才能赶上“resetPasswordRequest”事件在编辑您的用户模型的构造(或extendend用户模型,如果你不使用默认的),像这样:

constructor(public model: any) { 
    model.on('resetPasswordRequest', function (info:any) { 
    console.log("do something"); 
    }) 
    }