为什么 ng-click 不适用于 ng-repeat 元素?
why ng-click is not working on ng-repeat elements?
我正在尝试将 ng-click 绑定到 ng-repeated 元素上并尝试 show/hide div。出于一个奇怪的原因,它对我不起作用。任何人都可以看看吗?在下面添加 fiddle link
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>
您应该尝试 ng-click="click=!click"
而不是 ng-click="click!=click"
。
此外,您的 $scope.click
不应是原始类型对象,因为您的 ng-repeat
部分将保留其自己的点击变量副本,而外部 html.See this.
您必须使用 ng-init 指令来初始化点击 ng-init="items=['item 1','item 2'];obj={click:false}"
。
然后使用ng-click="obj.click=!obj.click"
和ng-class="{show:obj.click}"
。
这是一个有效的 plunker。
看这个例子: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>
我正在尝试将 ng-click 绑定到 ng-repeated 元素上并尝试 show/hide div。出于一个奇怪的原因,它对我不起作用。任何人都可以看看吗?在下面添加 fiddle link
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>
您应该尝试 ng-click="click=!click"
而不是 ng-click="click!=click"
。
此外,您的 $scope.click
不应是原始类型对象,因为您的 ng-repeat
部分将保留其自己的点击变量副本,而外部 html.See this.
您必须使用 ng-init 指令来初始化点击 ng-init="items=['item 1','item 2'];obj={click:false}"
。
然后使用ng-click="obj.click=!obj.click"
和ng-class="{show:obj.click}"
。
这是一个有效的 plunker。
看这个例子: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>