Angularjs 为什么ng click不能处理ng repeat元素?
我正在尝试绑定ng单击ng重复元素并尝试显示/隐藏一个div。出于奇怪的原因,它对我不起作用。谁能看一下吗?添加下面的fiddle链接Angularjs 为什么ng click不能处理ng repeat元素?,angularjs,angularjs-ng-click,Angularjs,Angularjs Ng Click,我正在尝试绑定ng单击ng重复元素并尝试显示/隐藏一个div。出于奇怪的原因,它对我不起作用。谁能看一下吗?添加下面的fiddle链接 使用ng重复循环: {{x} 显示 您应该尝试ng click=“click=!click”而不是ng click=“click!=click” 另外,您的$scope.click不应是基元类型对象,因为ng repeat节将保留其自己的click变量副本,而外部html将无法使用该副本。请参阅 您必须使用ng init指令初始化单击,如ng in
使用ng重复循环:
-
{{x}
显示
您应该尝试
ng click=“click=!click”
而不是ng click=“click!=click”
另外,您的$scope.click
不应是基元类型对象,因为ng repeat
节将保留其自己的click变量副本,而外部html将无法使用该副本。请参阅
您必须使用ng init指令初始化单击,如ng init=“items=['item 1','item 2'];obj={click:false}”
然后使用ng click=“obj.click=!obj.click”
和ng class=“{show:obj.click}”
下面是一个工作示例。请参见此示例:
使用ng重复循环:
-
{{x}
{{点击}
显示
看看我的答案,也许这会对你有很大帮助@Abdul23。。如果我没有ng init怎么办?我仍然可以使用ng click=“click=!click”?获得输出吗?只要在定义了
ng repeat
的同一html元素中使用click
变量,它就可以工作。您必须将wrapperobj
与ng init一起使用,或者在控制器中定义它,如$scope.obj=..
以在容器html元素外部使用它。
<div data-ng-app="" ng-init="names=['Jani','Hege','Kai']">
<p>Looping with ng-repeat:</p>
<ul>
<li ng-repeat="x in names" ng-click="click!=click">
{{ x }}
</li>
</ul>
<div id="hiddenDiv" ng-class="{show:click}">Showing</div>
</div>
<div data-ng-app="" ng-init="names=['Jani','Hege','Kai']">
<p>Looping with ng-repeat:</p>
<ul ng-click="click =! click">
<li ng-repeat="x in names" >
{{ x }}
</li>
</ul>
{{click}}
<div ng-show="click">Showing</div>
</div>