javascript - 位于组件中的 AngularJS 元素仅在第二次单击后才会触发
问题描述
我有 AngularJS (1.x) 组件——或者确切地说是指令,并且该指令中的元素仅在第二次单击时才会被触发/工作/操作。
例如:除非您单击两次,否则下拉菜单不会切换。在第二次单击后,切换将在每次下一次单击时出现。
就像元素没有在 DOM 中消化一样。
这是组件调用:
<dropdown-custom-component-example></dropdown-custom-component-example>
这是组件的 html 文件:
<div class="dropdown">
<a class="btn pl-2" data-toggle="dropdown">
<i class="icon-options"></i>
</a>
<div class="dropdown-menu">
<a class="dropdown-item" data-toggle="modal" data-target=".create-supplier">
<i class="fa icon-plus text-primary"></i>
Action
</a>
</div>
</div>
解决方案
大多数时候 AngularJS 没有响应是因为在 Angular 上下文之外发生了一些事情,在这些情况下,尝试使用内置的 AngularJS 指令复制您想要的功能很有用。
访问组件的某些实现会很有用。但是,根据您提供的所有信息,您可以使用ngClick
内置指令:
<div class="dropdown">
<a class="btn pl-2" data-toggle="dropdown">
<i class="icon-options"></i>
</a>
<div class="dropdown-menu">
<a class="dropdown-item" data-toggle="modal" data-target=".create-supplier" ng-click="yourFunctionHere(this)">
<i class="fa icon-plus text-primary"></i>
Action
</a>
</div>
</div>
推荐阅读
- linux - 对于一些最近提取的文件,Amazon linux Ec2 实例将 uid/groupid 显示为“1000”,但是我的 etc/passwd 文件中没有这样的 uid/gid
- javascript - 如何在页面重新加载时将javascript计时器设置回零
- hadoop - 一个 128 MB 的 HDFS 块可以存储两个大小为 1MB 的不同 ORC 文件吗?
- typescript - 我可以在 Typescript 中创建一个实现接口的类,并且它仍然可以有装饰器吗?
- server - 如何减少 weblogic 服务器中的常驻内存大小
- c++ - g++ -O2 标志给出分段错误
- c# - 如何在文档中正确引用未重载的运算符?
- python - 如何在cv2中在黑色背景上绘制红色形状?
- python - 当我得到科学数字但想输入一个数字的输出时
- iis - Cloudflare - IIS 请求过滤/UrlRewrite:如果自定义标头(CF-Connecting-IP)包含值(特定 IP),则允许请求