首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs:虽然ng-click触发器,但toggleMenu()控制器方法不会触发

Angularjs:虽然ng-click触发器,但toggleMenu()控制器方法不会触发
EN

Stack Overflow用户
提问于 2014-09-01 01:47:43
回答 1查看 189关注 0票数 0

这是代码片段。当我点击td时,设置了ng-click-active (如下所示),但不会触发$parent.toggleMenu():

代码语言:javascript
复制
<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()起作用了!由此,我尝试在检查器中手动设置“开”或“关”类,这会使问题再次出现!别搞砸了。

代码语言:javascript
复制
                    <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>

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-09-01 02:48:56

要使用Chrome浏览器调查此问题,我建议使用Batarang (https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=en)。它是一个Chrome扩展,可以让您检查角度范围并调试您的应用程序=)

与您的问题相关,如果您提供更多信息或解决问题,我们可能会尝试为您提供更多帮助,可能像那个HTML区域的错误控制器一样简单,也可能像作用域问题一样复杂,所以如果您需要更准确的帮助,请提供信息=)

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25594651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档