0

我们目前正在开发 Angular Living Styleguide。我们计划在本样式指南中开发组件并在我们的应用程序中使用它们。

对于应用程序,我们还想使用 redux 模式:https ://github.com/angular-redux/store

我找不到的是:如何将通过 npm 包导入的组件链接到 redux 商店?

  • 商店是否应该作为服务注入到组件中?这不利于脱钩。那么双组件又会怎样呢?它们会具有相同的调度消息?
  • 是否应该通过 将商店提供给组件@Input?然后其他变量,如 dispatch-strings 也必须传递给组件。(例如一个按钮 - 按下时调度哪个动作)
  • 我是否应该实现一个服务来处理所有 redux 的东西,包括向服务提供调度消息的组件?这对我来说似乎是重新实现 redux。
4

1 回答 1

1

您可以使用服务来管理您的商店,在您的服务中,您可以从商店获取变量并在调用 http 调用后发送新值。要在组件中获取存储值,您可以调用服务示例的属性:

books= this.storeService.books;

如果您想在组件中添加书籍:

this.storeService.create(books);

在另一边(storeService.ts)

this.books = store.get('Books');

从商店中获取书籍,并在您订阅创建新书籍的 http post 调用时发送书籍的新价值

....subscribe(data = > { this.store.dispatch({type: 'Books', payload : data.books});})
于 2017-10-26T15:17:28.867 回答