ng-repeat和ng-switch不适用于同一元素

烯基周

JS

$scope.mode = "test"
$scope.array = ['test1', 'test2', 'test3']

的HTML

<div ng-switch on="mode">
    <div ng-repeat="item in array" ng-switch-when="test">
        Test {{item}}
    </div>
</div>

当我在上面这样做时,我得到的输出是

Test Test Test

它似乎无法访问项目。如果我删除ng-switch-when,那么它可以正常工作。

PSL

这是因为ng-switch创建子作用域,并且对ng-repeat同样适用。ng-repeat的运行优先级为1000运行优先级ng-switch800因此,ng-repeat在每个重复的div元素上创建的子作用域将被覆盖ng-switch,因此ng-repeat该元素上分配的子作用域最终消失了。一种可能的方法是将ng-switch包装在ng-repeat之外,因为您始终不想为每个重复的元素评估ng-switch表达式。这是1.2版本。

现在,从angular的1.3.x版本开始,ng-switch的优先级已修改为1200,并且ng-repeat仍为1000,因此ng重复的范围将占上风,因为它现在的优先级较低,在这种情况下它将起作用。

普伦克

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在同一元素中使用ng-repeat-start和ng-repeat-end?

来自分类Dev

ng-click和ng-href在同一元素上

来自分类Dev

ng-click内部ng-repeat不适用于:focus和display

来自分类Dev

ng-click内部ng-repeat不适用于:focus和display

来自分类Dev

使用AngularJS处理同一元素上的ng-click和ng-dblclick

来自分类Dev

对滑块使用ng-switch和ng-repeat

来自分类Dev

对滑块使用ng-switch和ng-repeat

来自分类Dev

在同一元素上使用“ controller as x”的多个ng-controller指令

来自分类Dev

如何在ng-show中多次显示同一元素?

来自分类Dev

ng-controller和ui-view在同一元素上不起作用

来自分类Dev

ng-controller和ui-view在同一元素上不起作用

来自分类Dev

筛选器不适用于动态输入和ng-repeat

来自分类Dev

ng-repeat范围不适用于其中的指令

来自分类Dev

JSON解析不适用于ng-repeat

来自分类Dev

Angular指令不适用于ng-repeat

来自分类Dev

ng-repeat不适用于json值

来自分类Dev

数据绑定不适用于嵌套ng-repeat

来自分类Dev

溢出-不适用于ng-repeat

来自分类Dev

ng-repeat 不适用于对象的对象

来自分类Dev

同一DOM元素上的ng-repeat和ng-controller

来自分类Dev

AngularJS单控制器,用于ng-repeat-start和ng-repeat-end

来自分类Dev

jQuery不适用于ng-view内部的元素

来自分类Dev

ng-click with ng-repeat不适用于直接表达式(非函数)

来自分类Dev

ng-selected不适用于ng-repeat设置默认值

来自分类Dev

ng-repeat不适用于表<tr>,但适用于列表<li>

来自分类Dev

$ compile和ng-repeat不返回正确的元素

来自分类Dev

如何淡出和删除ng-repeat创建的元素

来自分类Dev

显示和隐藏ng-repeat循环的元素

来自分类Dev

$ compile和ng-repeat不返回正确的元素

Related 相关文章

热门标签

归档