在angular.js控制器中为应用的内部状态定义变量来显示/隐藏元素
Define variables for internal app states in angular.js controller to show/hide elements
我在很多情况下都遇到过这个问题,但我们在这里只举一个例子。假设我有一个表单提交的交互流。它由三个步骤组成,即数据输入步骤、双重检查步骤和确认步骤。在每一步中,我将使用ng-show/ng-hide显示不同的相关信息以及表单。我现在的方法是像定义状态机一样定义流,并使用内部变量(例如currState)来表示当前状态,并在切换到不同状态时修改变量。在ng-show/ng-hide中,我检查currState变量来显示/隐藏元素。如下所示:
在我的Angular控制器中:$scope.currState = 'DATA_INPUT';
在我的HTML中:
<div ng-show="currState == 'DATA_INPUT'"></div>
我想知道是否有任何本机支持这种用例或最佳实践/模式,因为我现在做的方式是容易出错的,不是很灵活。谢谢!
您可以使用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>
相关文章:
- 得到"全局未定义“;全局变量定义清楚时出错
- 使用变量的名称,然后为该变量定义函数
- Javascript 从 php 变量定义 getElementById()
- 使用变量定义宽度和高度
- 函数内部的JavaScript全局变量定义
- Javascript变量定义-澄清
- 为多个变量定义相同的类型,在Webstorm中识别
- 如何用变量定义一个数组,然后用一个数字填充每个数组
- 画布的奇怪行为 上下文变量定义位置导致选项卡处于非活动状态时画布呈现冻结
- 为什么要显式将变量定义为未定义
- Gulp/Grunt 获取触笔工作表中的所有颜色变量,并将它们作为变量定义写入文件
- 是否可以在 Node.js 中为模块变量定义 SET 函数
- ES6 块范围的变量定义作为条件
- 使用 jQuery 获取由变量定义的文本输入的值
- :gt()选择器,为变量定义的索引
- 如何在ASP.NET中将Javascript变量定义为Session
- 带有用户输入的ajax请求变量定义有问题
- 使用ElasticSearch搜索变量定义字段
- 变量定义,不同的输出
- JavaScript变量定义和范围