这是代码片段。当我点击td时,设置了ng-click-active (如下所示),但不会触发$parent.toggleMenu():
<td class="bigmacButton toggleMenu ng-click-active" ng-click="$parent.toggleMenu()">
<div></div>
</td>我最初有ng-click="toggleMenu()“,但我怀疑是作用域问题。我甚至尝试过$parent.$parent.toggleMenu(),但没有成功。
我被困在这里了。您会尝试什么来诊断问题,然后进行修复?我真的需要一种调查方法。
编辑1
我忘了提一下,这在Safari/Mac上运行得很好,但问题存在于iPad/iOS上。
编辑2
在相同的代码环境( App)中,我复制了标记以将其放在DOM中的其他位置,并且它可以工作。这应该证明这是一个作用域问题,不是吗?
编辑3
我的调查使我找到了触发问题的原因。td代码后面是另一个代码,它是一个ng-class,如下所示。当我删除ng-cass时,toggleMenu()起作用了!由此,我尝试在检查器中手动设置“开”或“关”类,这会使问题再次出现!别搞砸了。
<td
class="bigmacButton toggleMenu" ng-click="toggleMenu()"
style="vertical-align: top; padding-top: 10px">
<div></div>
</td>
<td
nng-class="{'on':config.keynote, 'off':!config.keynote}"
class="keynoteButton"
style="vertical-align: top;"
ng-hide="getPage()=='/settings'"
ng-click="config.keynote=!config.keynote">
<div style="-webkit-filter: invert(100%); -webkit-transform: translateZ(0);"></div>
</td>提前谢谢。
发布于 2014-09-01 02:48:56
要使用Chrome浏览器调查此问题,我建议使用Batarang (https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=en)。它是一个Chrome扩展,可以让您检查角度范围并调试您的应用程序=)
与您的问题相关,如果您提供更多信息或解决问题,我们可能会尝试为您提供更多帮助,可能像那个HTML区域的错误控制器一样简单,也可能像作用域问题一样复杂,所以如果您需要更准确的帮助,请提供信息=)
祝好运!
https://stackoverflow.com/questions/25594651
复制相似问题