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