其他分享
首页 > 其他分享> > ng-click不触发,深入ui-views

ng-click不触发,深入ui-views

作者:互联网

我正在使用AngularJS和ui-router.我有一个子菜单,当他们单击其用户名时会打开一个子菜单,我想在其中退出菜单.这是一个具有ng-click的div,应将用户注销;但是,ng-click不会触发.

该位仅显示/隐藏子菜单

<div class="user-view-content" ng-init="showSubMenu = false" ng-click="showSubMenu = !showSubMenu">
    {{getUsername()}}
    <span class="glyphicon glyphicon-chevron-down"></span>
</div>

并且subMenu的内容-ng-click失败!

<div class="user-sub-menu" ng-show="showSubMenu">
    <div ng-click="logout()">Logout</div>
</div>

奇怪的是,如果我把它带到子菜单之外,它就可以正常工作. ng-click成功

<div ng-click="logout()">Logout</div>

还有用于用户子菜单的CSS,唯一不同的是

.user-sub-menu {
    position: fixed;
    border-radius: 6px;
    border: solid 1px #f3fcff;
    padding: 1em;
    top: 51px;
    right: 4px;
}

所有这些标记都包装在< div ui-view =“ user” class =“ user-view”< / div>内部,其本身嵌套在各种ui视图中约5-6 divs深.这是我遇到的第一个也是唯一的一次,我遇到ng-click时不触发.由于涉及的复杂性,我无法在jsfiddle中进行复制.

>为什么我的ng-click不触发?

更新1

正如iH8在下面所建议的那样,认为这可能是一个孤立的示波器问题(这没有任何意义,但无论如何都尝试过).以下代码不会触发,也不会将{{testVal}}更改为’after’.它始终保持在“之前”.

<div class="user-sub-menu" ng-show="showSubMenu" ng-init="testVal='before'">
    <div ng-click="testVal='after'">Logout</div>
    {{testVal}}
</div>

解决方法:

固定.我必须在子菜单的css中添加1的z-index.原来是在另一个项目后面…

z-index: 1;

标签:angularjs,angular-ui-router,css,html,javascript
来源: https://codeday.me/bug/20191120/2045260.html