使用angularjs ng Show/ng hide显示和隐藏不同的内容
Show and hide different contents with angularjs ng-show / ng-hide
我是angularjs的新手,正在努力制定一些逻辑,根据不同的点击使用ng show和ng hide来显示和隐藏不同的div。
柱塞
视图1:
<div ng-hide="section1">
<select>
<option>Select List 1</option>
<option>Select List 2</option>
</select>
</div>
<div ng-hide="section1">
<ul>
<li ng-repeat="name in names">{{name.item}}</li>
</ul>
<button type="button" ng-click="section1=!section1">Edit</button>
</div>
最初,它显示一个下拉菜单,一些列表项目和编辑按钮
点击编辑按钮所有东西都隐藏并显示View 2
视图2:
<div ng-show="section1">
<button type="button" ng-click="section2=!section2">+ Create New Item</button>
</div>
<div ng-show="section1">
<ul>
<li ng-repeat="name in names">
<input type="text" ng-model="name.item">
</li>
</ul>
<button type="button" ng-click="section1=!section1">Save</button>
</div>
在视图2中,有一个按钮"创建新项目"、与视图1的列表项目值相同的输入字段列表和一个保存按钮。该视图2基本上是视图1的编辑模式。
Upto现在运行良好。
问题:如果我单击"+创建新项目","视图2"应隐藏,"视图3"应打开。
视图3包含一些空白的输入列表和"保存按钮"。点击"保存按钮"隐藏"视图3"并再次打开"视图1"。
查看3
<div ng-show="section2">
<ul>
<li ng-repeat="name in names">
<input type="text">
</li>
</ul>
<button type="button" ng-click="section2=!section2">Save New List</button>
</div>
我正在努力管理3个不同的视图基于不同的按钮点击ng显示和隐藏。点击"+创建新按钮"时,它没有正确显示和隐藏。
这有可能使它与ng-show&只藏起来?有更好的处理方法吗?
任何帮助都将不胜感激。
处理您尝试执行的操作的更好方法是使用一个变量来保存当前节的索引。然后,你可以使用类似ng-show="currentSection === 1"
的东西,我认为它会更直接一些。
然后,您的单击操作可能看起来更像ng-click="currentSection = 1"
。这将显示具有ng-show="currentSection === 1"
的所有元素。
这有帮助吗?
我已经修改了你的plunker来解决你的问题。你需要在ng-show 中使用这两个变量
ng-show="section1 && !section2"
http://plnkr.co/edit/rdKIT4leGM9U7BNoE01B?p=preview
有更好的方法来实现你想要实现的目标。
尝试切换,例如
https://docs.angularjs.org/api/ng/directive/ngSwitch
- ng隐藏和ng显示无法正常工作
- Ng隐藏在Ng-click元素之外
- $scope变量,ng隐藏/显示
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 在Angular.JS-ng隐藏vs过滤器中将对象分隔为两组
- 为什么我的html节点保持类ng隐藏属性ng show=true
- ng显示ng隐藏在ng中,重复如何为每个包裹的块单击/触发
- AngularJS自定义指令ng显示/ng隐藏
- 访问一个控制器的ng隐藏值以在全局控制器中操纵另一个控制器中的ng样式
- Angular 1.2.x ng隐藏和ng显示css转换
- ng隐藏不't在异步apiService调用后从类中删除
- AngularJS:ng隐藏不工作
- 使用ng隐藏和收音机隐藏元素
- 角度模板不显示ng隐藏
- 如何使用ng隐藏和ng重复显示基于条件的元素
- ngAnimate CSS动画不适用于ng-show&ng隐藏
- ng隐藏&ng显示不能仅在特定的AngularJS页面中工作
- 隐藏基于下拉列表中所选选项的输入值,ng重复ng隐藏
- ng隐藏在angularjs问题中
- 有角度的ng显示/ng隐藏嵌套ng重复中的问题