我试图在单击 DOM 中的元素时切换变量,但出现了一些奇怪的行为。
本质上,如果我将ng-click放在.options div上并将 Controller 留在.options-tab div上,事件触发器(但适用于 .options div 内的所有内容)。由于某种原因,我被迫再次应用 ng-controller。
<div ng-app ng-controller="Swipe" class="container">
<div class="options" ng-click="swiped=!swiped2">
<div ng-controller="Swipe" class="options-tab" ></div>
</div>
</div>
如果我将它放在我想要的元素上,它不会触发该事件。
<div ng-app ng-controller="Swipe" class="container">
<div class="options">
<div ng-controller="Swipe" class="options-tab" ng-click="swiped=!swiped2"></div>
</div>
</div>
最佳答案
您遇到了一些问题:
- 多个 Controller 声明创建重复的作用域
ng-click="swiped1=!swiped1"
在options
和options-tab
元素上(已设置,然后立即反转)- 您的第二个示例设置为
ng-click="swiped=!swiped2"
而不是ng-click="swiped2=!swiped2"
更新了工作 fiddle :http://jsfiddle.net/Xya3f/2/
关于javascript - Angular js ng-click 在子元素中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21054943/