1

我在几种情况下都遇到过这个问题,但让我们在这里举一个例子。假设我有一个表单提交的交互流程。它由三个步骤组成,例如,数据输入步骤、双重检查步骤和确认步骤。在每个步骤中,我将使用 ng-show/ng-hide 显示不同的相关信息以及表单。我现在这样做的方式是像状态机一样定义流,并使用内部变量(例如currState)来表示当前状态,并在切换到不同状态时修改变量。在 ng-show/ng-hide 中,我检查 currState 变量以显示/隐藏元素。看起来像这样:

在我的 Angular 控制器中:

$scope.currState = 'DATA_INPUT';

在我的 HTML 中:

<div ng-show="currState == 'DATA_INPUT'"></div>

我想知道是否有对这种用例或最佳实践/模式的本地支持,因为我现在做的方式很容易出错并且不是很灵活。谢谢!

4

1 回答 1

2

您可以ngSwitch为此使用:

http://docs.angularjs.org/api/ng.directive:ngSwitch

所以:

<div ng-switch on="state">
        <div ng-switch-default>Fist. <button ng-click="state='second'">Next</button></div>
        <div ng-switch-when="second">Second. <button ng-click="state='final'">Next</button></div>
        <div ng-switch-when="final">Final</div>

</div>
于 2013-04-22T19:17:35.970 回答