Angular 在两个组件之间共享数据7
大家好,谢谢你们抽出时间 我正在创建一个与角7和路由网站。在一个显示home(默认视图)的组件中,我有一个输入,询问person的姓名 我想将此数据传递给我的其他组件。在谷歌搜索了很长时间后,我发现我应该使用服务,但这真的是共享数据的唯一选择吗?有人举过这样的例子吗Angular 在两个组件之间共享数据7,angular,Angular,大家好,谢谢你们抽出时间 我正在创建一个与角7和路由网站。在一个显示home(默认视图)的组件中,我有一个输入,询问person的姓名 我想将此数据传递给我的其他组件。在谷歌搜索了很长时间后,我发现我应该使用服务,但这真的是共享数据的唯一选择吗?有人举过这样的例子吗 ps:stackoverflow的一个答案是“您可以使用共享服务(使用observable)或使用ngrx/store。”您可以从技术文档中学习角度特性 根据期望和逻辑,您可以通过几种方式共享数据: 如果要将对象从父组件发送到子组
ps:stackoverflow的一个答案是“您可以使用共享服务(使用observable)或使用ngrx/store。”您可以从技术文档中学习角度特性 根据期望和逻辑,您可以通过几种方式共享数据:
- 如果要将对象从父组件发送到子组件,则父/子组件可以在子组件中使用@Input;如果要将事件从子组件发送到父组件,则可以使用@Output(此事件可以带来数据)
- 在同一个模块中,您可以将事件发射器与@Injectable service一起使用
- 如果要在客户端上保存数据,可以使用本地存储和会话存储
- 如果要在服务器上保存数据,可以使用HTTP或WebSocket
<button (click)="saveData($event)" class="btn btn-outline-secondary" type="button"
id="button-addon2">Send</button>
第2部分:
visitor = localStorage.getItem('visitor');
也许有人会发现它很有用。您必须更具体一点,这个数据应该具有多大的持久性,您是否要将它传递到后端?主组件是第二个组件的父组件还是同级组件?组件是同级组件(主页联系人页)。数据不需要保存,只要在用户离开网站之前可以访问即可。理论是,在主页上,用户输入自己的姓名,当他点击联系页面时,我需要显示该信息(姓名)。这里绝对没有理由使用状态管理。两个同级组件可以共享一个父组件,该父组件可以通过表单中的回调处理用户信息的提交,并将其作为一个道具注入到另一个组件中。当组件层次结构较深或其他复杂性足以证明开销的合理性时,状态管理变得非常有用。在您所说的情况下,我只使用回调方法。如果您使用路由,有许多其他方法来传递数据,如下所述:
visitor = localStorage.getItem('visitor');