0

我试图在单击 DOM 中的元素时切换一个变量,但我得到了一些奇怪的行为。

完整的例子在这里

本质上,如果我将ng-click放在.options div 上并将控制器留在.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>
4

1 回答 1

2

你有几个问题:

  1. 多个控制器声明创建重复范围
  2. ng-click="swiped1=!swiped1"optionsandoptions-tab元素上(它被设置然后立即反转)
  3. 您的第二个示例设置ng-click="swiped=!swiped2"ng-click="swiped2=!swiped2"

更新的工作小提琴:http: //jsfiddle.net/Xya3f/2/

于 2014-01-10T22:03:30.163 回答