Angular 错误类型错误:";“用户为空”;注销时
嗨,我使用angular 7,我用它来查看我的照片:Angular 错误类型错误:";“用户为空”;注销时,angular,Angular,嗨,我使用angular 7,我用它来查看我的照片: this._authService.getAuthStatusListener() .pipe(takeUntil(this._unsubscribeAll)) .subscribe((user) => { this.user = user; console.log("user", user.thumbnail.encoded) if (user.thumbnail.enc
this._authService.getAuthStatusListener()
.pipe(takeUntil(this._unsubscribeAll))
.subscribe((user) => {
this.user = user;
console.log("user", user.thumbnail.encoded)
if (user.thumbnail.encoded) {
this.photo = this.sanitizer.bypassSecurityTrustUrl("data:image/png;" + user.thumbnail.encoding + ", " + user.thumbnail.encoded);
} else {
this.photo = "assets/images/avatars/user.jpg"
}
});
这是html:
<div *ngIf="user" class="user" fxLayout="column" [ngClass]="fuseConfig.layout.navbar.secondaryBackground">
<div *ngIf="user" class="h3 username">{{ user.first_name }} {{ user.last_name }}</div>
<div class="h5 company hint-text mt-8">{{ user.company }}</div>
<div class="avatar-container" [ngClass]="fuseConfig.layout.navbar.primaryBackground">
<img class="avatar" src="assets/images/avatars/user.jpg">
</div>
</div>
{{user.first_name}{{user.last_name}}
{{user.company}
当我注销我的应用程序时,我的控制台中出现了这个错误
错误类型错误:“用户为空”您执行以下操作:
console.log("user", user.thumbnail.encoded)
但当您注销时,user为null,所以您可以访问user.thumboil.encoded
解决方案:
if (user && user.thumbnail && user.thumbnail.encoded ) {
console.log("user", user.thumbnail.encoded)
this.photo = this.sanitizer.bypassSecurityTrustUrl("data:image/png;" + user.thumbnail.encoding + ", " + user.thumbnail.encoded);
} else {
this.photo = "assets/images/avatars/user.jpg"
}
你做了一个:
console.log("user", user.thumbnail.encoded)
但当您注销时,user为null,所以您可以访问user.thumboil.encoded
解决方案:
if (user && user.thumbnail && user.thumbnail.encoded ) {
console.log("user", user.thumbnail.encoded)
this.photo = this.sanitizer.bypassSecurityTrustUrl("data:image/png;" + user.thumbnail.encoding + ", " + user.thumbnail.encoded);
} else {
this.photo = "assets/images/avatars/user.jpg"
}