Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 错误类型错误:";“用户为空”;注销时_Angular - Fatal编程技术网

Angular 错误类型错误:";“用户为空”;注销时

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

嗨,我使用angular 7,我用它来查看我的照片:

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"
    }