首页 文章

当我的Observable返回空时,我想显示一些有用的信息

提问于
浏览
0

我有一个主页,其中有一个搜索输入框,它会路由到另一个页面以显示结果 . 在该结果页面中,我有一个* ngFor循环通过返回的observable(searchResult) .

我有一个 <div *ngIf="searchResult"> ,显示observable是否为空 . 但是,当组件初始化时,从主页到结果页面,此div快速加载并在搜索结果返回后消失 . 有没有另一种方法来检查Observable是否为空,所以我可以使用布尔而不是使用此* ngIf = "searchResult" .

这是我的订阅:

getDocument(searchText:string) {
        this._contractService.getDocument(searchText)
            .subscribe(
            document => this.document = document,
            error => this.errorMessage = <any>error);

    }

这是我的* ngIf:

<div id="search-not-found" class="col-xs-12" *ngIf="!searchResult">
 <div class="alert alert-success" role="alert"><p>Sorry, we did not find any match related to your search"</p></div>
      </div>

我很感激任何帮助 . 谢谢

1 回答

  • 0

    我能够解决这个问题 . 我添加了一个布尔变量( searchResultEmpty:boolean=false )并将其初始化为false . 然后在我的订阅中,我将该布尔值更改为true .

    这是我更新的订阅:

    getDocument(searchText:string) {
            this._contractService.getDocument(searchText)
                .subscribe(
                document => {this.document = document, this.searchResultEmpty=true},
                error => this.errorMessage = <any>error);
    
        }
    

    这是div:

    <div *ngIf="searchResultEmpty">
    <div id="search-not-found" class="col-xs-12" *ngIf="!searchResult">
     <div class="alert alert-success" role="alert"><p>Sorry, we did not find any match related to your search"</p></div>
          </div>
    </div>
    

相关问题