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