【发布时间】:2014-02-05 23:35:08
【问题描述】:
我想知道在运行类似向导的设置时如何将三个状态连接在一起。 我目前正在开发的应用程序有一个“参数”屏幕,通过 3 个步骤要求用户输入一些参数。这 3 个步骤应合并在同一页面上,但当前步骤应仅在需要填写特定步骤时才可见。
有点像这样:
用户起始于:parameters/step-1
- 第一个 div 可见
- 第二个 div 被隐藏(或处于某种阻塞/锁定状态)
- 第三个 div 被隐藏(或处于某种阻塞/锁定状态)
用户填写第1步并导航到parameters/step-2
- 第一个 div 可见
- 第二个 div 可见
- 第三个 div 被隐藏(或处于某种阻塞/锁定状态)
用户填写第2步并导航到parameters/step-3
- 第一个 div 可见
- 第二个 div 可见
- 第三个 div 可见
这是我当前的设置,这是正确的做法还是我应该使用嵌套视图,然后根据当前路线手动显示/隐藏每个视图?如果是这样,我该怎么做?
.state('test.parameters', {
url: "/parameters",
templateUrl: "views/partials/enter-parameters.html"
})
.state('test.parameters.step1', {
url: "/step-1",
templateUrl: "views/partials/step1.html"
})
.state('test.parameters.step2', {
url: "/step-2",
templateUrl: "views/partials/step2.html"
})
.state('test.parameters.step3', {
url: "/step-3",
templateUrl: "views/partials/step3.html"
})
【问题讨论】:
-
您是否必须为每个步骤使用单独的视图?在我看来,只使用 ngShow/ngHide(或 ngIf)它们会更好
-
一个好建议,我会试试看;)
标签: javascript angularjs angular-ui angular-ui-router