0

目前在我们的项目中,我们正在使用 Angular 的路由器来定义我们的路由。我们有一个向导式的单页应用程序,每个页面上都有下一个和上一个按钮,分别定义要转到下一个和上一个的路线。这些下一个和上一个按钮是在每个页面上基于来自前一页的用户输入用条件逻辑实现的(例如,如果用户从前一页选择“选项1 和选择1”,则转到页面X,否则转到页面Y)。这在大多数情况下都有效;但是,随着我们添加更多需要更多条件逻辑的页面,这可能会失控。

有没有办法简化这个过程?我研究了 Angular 路由器保护,虽然它们提供了一种在应用程序在调用路由时没有必要数据时将用户重定向到特定页面的方法,但我认为它们不是我们的样子寻找。

4

1 回答 1

0

如果用户不打算直接访问向导的第 2 页以上,则没有理由使用路由器 imo。我会选择一个主要组件/路由,一种自定义树数据结构,它定义了其中的用户流程,例如每个步骤中使用的模型、组件、动态表单、编辑器、api 端点等。如果简单 ng-switches 的情况太多,请在 ComponentFactories 中折腾:https ://angular.io/guide/dynamic-component-loader

IE。我尽量避免使用 Step1Component 等,并拥有可重用的组件,这些组件允许使用基本上仅由 json 构建的不同类型的 UI。虽然在较小的情况下 step1、step2 等 - 组件也很好。

于 2018-02-20T18:55:16.340 回答