首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在angular中,为什么在ng-click按钮中添加一个禁用的ng会使其连续触发两次?

在angular中,为什么在ng-click按钮中添加一个禁用的ng会使其连续触发两次?
EN

Stack Overflow用户
提问于 2015-01-22 21:41:39
回答 1查看 480关注 0票数 1

我有一个ionic angular应用程序,如果我添加了一个ng-disabled属性(我想防止他们点击按钮两次),它就会连续触发ng-click两次。

为什么它使用ng-disabled属性连续触发两次?

代码语言:javascript
运行
复制
<button ng-if="post._id" 
  class="button button-block button-outline" 
  ng-click="createPost()" 
  ng-disabled="isSaving">Update</button>
EN

回答 1

Stack Overflow用户

发布于 2015-01-22 22:03:11

我没有你的问题的答案,但我有另一个解决你的问题的方法,这是一个plnkr

我创建了一个名为networkInfo的指令,它根据是否正在进行网络调用来设置按钮的内容。

这不是一个完美的方式,但是一个7行代码的link函数,一个有两个属性的按钮也不错。

属性makingCall只是一个布尔值,表示是否正在进行调用。属性networkInfo初始化指令,并将link函数绑定makingCall激发到它的作用域。

函数update()使用$timeout来模拟异步网络调用(使用$http等)。

首先,它检查vm.working,如果是true,则不进行其他网络调用。然后,它将其设置为true,以通知指令现在正在进行调用。

最后,它触发$timeout,在2secs之后,它将把vm.working设置回false,以指示网络调用的结束。

显然,我用过boostrap,因为那是我更熟悉的,然而,就像标志性的风格。

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

https://stackoverflow.com/questions/28090232

复制
相关文章

相似问题

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