我在我的应用程序中使用this 管道示例,它适用于简单对象,但不适用于嵌套对象,例如让我们在链接中获取示例并将auther更改为对象而不是字符串,现在作者将从此转变:
"author": "George R. R. Martin",
对此:
"author": {
"name": "George R. R. Martin",
"age": 25
}
我还更改了过滤器值以适应更改:
[(ngModel)]="filter.author.name"
然而,在这些更改后,搜索者不再为作者输入工作。
我在这里错过了什么吗?
答案 0 :(得分:1)
原因是过滤器被定义为Book类的实例:filter: Book = new Book();
,这意味着当您尝试执行此操作[(ngModel)]="filter.author.name"
时会出现错误,因为Book
class将author
定义为字符串,而不是具有name
属性的对象。
一种可能的解决方案是创建一个Author
类,其中包含所需的属性(即名称和年龄)以及类型为authorFilter
的对应Author
。然后,当过滤器类型为age
时,您可以修改过滤器以查找嵌套属性Author
。