相关疑难解决方法(0)

Angular2 - 除非单击,否则不会显示更改检测

我有一个组件,您可以在其中输入一些搜索词,它将使用*ngFor循环过滤内容.问题是当我输入搜索词时,我需要点击屏幕以使更新生效.

以下是发生循环的html代码的一部分:

    <li *ngFor="let item of posts | reverse; let i = index; ">
        <div class="media" *ngIf="item.doesContainTags(searchTags)">
Run Code Online (Sandbox Code Playgroud)

在输入要搜索的标记的输入字段上执行的代码是:

 updateSearchTags() {
    event.stopPropagation();
    // sorter is what is types into the search by tag input field
    this.searchTags = this.sorter.split(',');
 }
Run Code Online (Sandbox Code Playgroud)

这是post对象的静态函数:

  doesContainTags(searchTags: string[]): boolean {

    let array = this.tags.split(',');
    if(!array || array.length === 0) {return false;}
    if(!searchTags || searchTags.length === 0) {return false;}

    for(let searchTag of searchTags){
         if(array.indexOf(searchTag) === -1) {

        } else {
        return true;
        }
    }
    return false;
 }
Run Code Online (Sandbox Code Playgroud)

这是获取循环的帖子的代码: …

angularfire2 angular

7
推荐指数
1
解决办法
4078
查看次数

标签 统计

angular ×1

angularfire2 ×1