Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 为什么ng click不能处理ng repeat元素?_Angularjs_Angularjs Ng Click - Fatal编程技术网

Angularjs 为什么ng click不能处理ng repeat元素?

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单击ng重复元素并尝试显示/隐藏一个div。出于奇怪的原因,它对我不起作用。谁能看一下吗?添加下面的fiddle链接


使用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
变量,它就可以工作。您必须将wrapper
obj
与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>