Angularjs 带ng显示的角度ng开关不考虑DOM顺序
我是从jQuery/主干网背景开始学习Angular的,所以我是Angular的新手。无论如何,我尝试根据选择框的值显示/隐藏div。基本的东西我知道 问题在于,对于下面的代码块,即使Angularjs 带ng显示的角度ng开关不考虑DOM顺序,angularjs,Angularjs,我是从jQuery/主干网背景开始学习Angular的,所以我是Angular的新手。无论如何,我尝试根据选择框的值显示/隐藏div。基本的东西我知道 问题在于,对于下面的代码块,即使是DOM中的最后一个元素,它也会显示在switch when语句之前。移动它没有什么区别 <select ng-model="designer"> <option value="designerYes">Yes</option> <option value="des
是DOM中的最后一个元素,它也会显示在switch when语句之前。移动它没有什么区别
<select ng-model="designer">
<option value="designerYes">Yes</option>
<option value="designerNo">No</option>
</select>
<div ng-switch on="designer">
<div ng-switch-when="designerYes"...>
<div ng-switch-when="designerNo"...>
<div ng-show="designer">
</div>
对
不
我怀疑问题与触发事件开关和显示事件的时间有关,但我不确定如何解决问题。有什么解决办法吗
更新:解决方案(至少对我来说)是不要混合使用ng开关和ng显示。第一个答案是对的。因为switch语句不在DOM中,所以它们被附加在已经可用的ng show div之后
这是答案
<select ng-model="designer">
<option value="designerYes">Yes</option>
<option value="designerNo">No</option>
</select>
<div ng-show="designer == 'designerYes'"...>
<div ng-show="designer == 'designerNo'"...>
<div ng-show="designer">
对
不
当进行选择时,这将始终显示第三个DIV,并根据值有条件地显示其中一个DIV。最初
设计器在您进行选择之前将是未定义的。所以我猜前两个不会被渲染。您能用其中一个值初始化它并查看是否有帮助吗?最初designer
将被取消定义,直到您做出选择。所以我猜前两个不会被渲染。你能用其中一个值初始化它并看看是否有用吗?你能提供一个JSFIDLE或plunker示例吗?在这种情况下,你可以删除ng开关on=“designer”
@JonathanPalumbo你说得对。谢谢我会更新它。你能提供一个JSFIDLE或plunker示例吗?在这种情况下,你可以删除ng开关on=“designer”
@JonathanPalumbo你是对的。谢谢我会更新的。