首页 文章

将过滤器应用于嵌套对象的* ngFor

提问于
浏览
0

我在我的应用程序中使用了this管道示例,它适用于简单对象,但不适用于嵌套对象,例如,让我们在链接中获取示例并将auther更改为对象而不是字符串,现在作者将转换由此 :

"author": "George R. R. Martin",

对此:

"author": {
     "name": "George R. R. Martin",
     "age": 25
}

我还更改了过滤器值以适应更改:

[(ngModel)]="filter.author.name"

但是,在这些更改之后,搜索者不再为作者输入工作 .

我在这里错过了什么吗?

1 回答

  • 1

    原因是过滤器被定义为Book类的一个实例: filter: Book = new Book(); ,这意味着当您尝试执行此操作时 [(ngModel)]="filter.author.name" 会出现错误,因为 Book 类将 author 定义为字符串,而不是具有 name 属性的对象 .

    一种可能的解决方案是创建一个具有所需属性(即名称和年龄)的 Author 类和类型为 Author 的通信者 authorFilter . 然后,当过滤器的类型为 Author 时,您可以修改过滤器以查找嵌套属性 age .

    Working demo

相关问题