我正在使用Angular2:
我正在根据以下内容编写表单向导:
1)每个wizardstep(屏幕)与其自己的Component相关联,呈现与ngFormControl绑定相关联的单独子表单()。
2)路由器/路由应用于通过表单
前进3)用户输入数据在每个表单上单独验证[*]
4)用户输入数据将被保留,即在用户确认后(在上一个向导步骤中)发送到API。
[*]我可能会有一些验证规则,这些验证规则将来会跨越多个页面,即表格。目前,这超出了我的问题范围
我希望用户来回导航,通过向导步骤将保留他的用户输入数据。 Angular2的最佳方式是什么?
(到目前为止我已经搜索了网,但我没有成功找到关于我的问题的建议(特定于angular2)。)
答案 0 :(得分:1)
最好的方法是使用向导中涉及的所有组件通用的共享数据服务。
export class SharedDataService {
wizardData: any;
}
为此,您可以在使用所有这些组件的父组件的提供程序中进行设置:
@Component({
(...)
providers: [ SharedDataService ] // <----
}
您也可以在引导应用程序时指定它,但它将由所有应用程序共享:
bootstrap(AppComponent, [ SharedDataService ]);
有关详细信息,请参阅此文档: