我正在尝试绑定ng-click on ng-repeated元素并尝试显示/隐藏div。出于一个奇怪的原因,它不适合我。任何人都可以看一下吗?添加下面的小提琴链接
http://jsfiddle.net/uLujthsp/8/
<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>
答案 0 :(得分:2)
您应该尝试ng-click="click=!click"
而不是ng-click="click!=click"
。
此外,您的$scope.click
不应该是原始类型对象,因为您的ng-repeat
部分会维护自己的点击变量副本,而外部html无法使用。请参阅this。< / p>
您必须使用ng-init指令初始化点击ng-init="items=['item 1','item 2'];obj={click:false}"
。
然后使用ng-click="obj.click=!obj.click"
和ng-class="{show:obj.click}"
。
这是一个有效的plunker。
答案 1 :(得分:0)
请参阅此示例:http://jsfiddle.net/uLujthsp/18/
的
的<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>
的