EventEmitter 的 emit 发射数据失败?还是接收失败?(此问题比较复杂)

此问题相对麻烦一些,但我写的条理还是很清晰的。

1.用node.js服务器,做了一个搜索产品小例子,结构如下:
图片描述

2.点击页面搜索应该看到的正确结果如下:
图片描述

3.当前情况是参数传递失败,如下:
参数传递失败

4.但能打印出参数,如下:
能打印输出

5.product.service.ts 关键代码如下:
图片描述

6.search.component.ts 关键代码如下:
private products: Observable<Product[]>
图片描述

7.product.component.ts 关键代码如下:
图片描述

麻烦哪位高手指点一下,问题出在哪里?

阅读 3.2k
1 个回答

products 是一个数组变量,而this.productService.search(...) 返回一个 Observable
所以在 product.component.ts 中监听到表单的提交应该:

this.productServuce.searchEvent.subscribe(params => {
    this.productService.search(params).subscribe((res:Product[]) => {
        this.products = res
    })
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进