Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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
Javascript AngularJS ng单击仅在第二次单击时工作_Javascript_Angularjs_Angularjs Scope_Angularjs Ng Click_Angularjs Ng Show - Fatal编程技术网

Javascript AngularJS ng单击仅在第二次单击时工作

Javascript AngularJS ng单击仅在第二次单击时工作,javascript,angularjs,angularjs-scope,angularjs-ng-click,angularjs-ng-show,Javascript,Angularjs,Angularjs Scope,Angularjs Ng Click,Angularjs Ng Show,试图在移动引导导航栏中折叠下拉菜单(语言选择)。第一次单击时,带有语言的下拉菜单将正常打开,更改语言后,下拉菜单将关闭,但当我再次尝试更改语言时,必须双击下拉菜单才能打开。有人能帮我吗 <li class="dropdown" dropdown style="margin-top: 25%; left: 7.5%;"> <a href="#" class="dropdown-toggle" dropdown-toggle role="button

试图在移动引导导航栏中折叠下拉菜单(语言选择)。第一次单击时,带有语言的下拉菜单将正常打开,更改语言后,下拉菜单将关闭,但当我再次尝试更改语言时,必须双击下拉菜单才能打开。有人能帮我吗

    <li class="dropdown" dropdown style="margin-top: 25%; left: 7.5%;">
            <a href="#" class="dropdown-toggle" dropdown-toggle role="button" ng-click="visible = true">
                {{vm.languageSel.name}}
                <span class="caret"></span>
            </a >
            <ul class="dropdown-menu" ng-show="visible">
                <li ng-repeat="lang in vm.languages" ng-click="$parent.visible = false">
                    <a ng-click="vm.chgLang($index)">
                        {{lang.name}}
                    </a>
                </li>
            </ul>
        </li>

  • 我认为这是因为
    可见
    默认初始化为false。尝试在第一个指令中添加
    ng init=“visible=true”
    ,我认为这是因为$parent。你能不用它试试吗?像这样:

    <li class="dropdown" dropdown style="margin-top: 25%; left: 7.5%;">
            <a href="#" class="dropdown-toggle" dropdown-toggle role="button" ng-click="visible = true">
                {{vm.languageSel.name}}
                <span class="caret"></span>
            </a >
            <ul class="dropdown-menu" ng-show="visible">
                <li ng-repeat="lang in vm.languages" ng-click="visible = false">
                    <a ng-click="vm.chgLang($index)">
                        {{lang.name}}
                    </a>
                </li>
            </ul>
        </li>
    

  • 仍然是相同的问题可能是传播问题,您是否尝试将2次单击事件放在同一位置<代码>(并将其从
    li
    中删除)继续尝试,仍然是同一个问题。继续编辑文章,提供更多详细信息其他方法必须与您的代码相干扰,我快速尝试了您的代码(在ionic 1测试项目中,我当前的设置最简单,使用Angular v1.5.3),在发布更多代码之前,您应该在浏览器的开发工具中检查应用程序,并检查绑定到元素及其父元素的事件侦听器。由于我无法重现您的问题,其他一些东西必须干扰,但我们无法查看完整的代码,它甚至可能不在其中,并且是由您没有编写的插件引起的,需要运行的应用程序来隔离罪魁祸首。仍然没有运气,发布更多我的代码会有帮助吗?