当前位置: 首页 > 面试题库 >

单击ng的确认对话框-AngularJS

邹俊友
2023-03-14
问题内容

我正在尝试ng-click使用自定义angularjs指令在上设置确认对话框:

app.directive('ngConfirmClick', [
    function(){
        return {
            priority: 1,
            terminal: true,
            link: function (scope, element, attr) {
                var msg = attr.ngConfirmClick || "Are you sure?";
                var clickAction = attr.ngClick;
                element.bind('click',function (event) {
                    if ( window.confirm(msg) ) {
                        scope.$eval(clickAction)
                    }
                });
            }
        };
}])

这很好用,但不幸的是,未评估使用我的指令的标记内的表达式:

<button ng-click="sayHi()" ng-confirm-click="Would you like to say hi?">Say hi to {{ name }}</button>

(这种情况下不评估名称)。这似乎是由于我的指令的终端参数。您有解决方法的想法吗?

要测试我的代码,请执行以下操作:http :
//plnkr.co/edit/EHmRpfwsgSfEFVMgRLgj?p=preview


问题答案:

如果您不介意不使用ng-click,则可以正常使用。您可以将其重命名为其他名称,然后仍然读取属性,同时避免单击处理程序被两次触发而导致当前出现问题。

http://plnkr.co/edit/YWr6o2?p=preview

我认为问题是terminal指示其他指令无法运行。与的数据绑定{{ }}只是该ng-bind指令的别名,可能已被取消terminal



 类似资料:
  • 问题内容: 我希望此链接具有一个JavaScript对话框,询问用户“ 您确定吗? 是/否 ”。 如果用户单击“是”,则链接应该加载,如果“否”,则什么也不会发生。 我知道如何通过运行返回或的函数以表格形式进行操作。但是,我该如何使用链接呢? 问题答案: 内联事件处理程序 以最简单的方式,您可以在内联处理程序中使用该函数。 高级事件处理 但是通常情况下,您希望将HTML和Javascript分开,

  • 问题内容: 我正在开发一个程序,该程序可以从文本文件加载和保存数据,并且正在询问用户加载和保存JFileChooser的文件名。 这个问题与 保存 对话框有关:。然后,用户可以在没有任何警告的情况下覆盖现有文件,这 将是一个问题 。 关于如何解决此问题的任何建议?我一直在寻找某种方法或选项,但没有发现任何东西。 提前致谢。 问题答案: 感谢您提供答案,但是我发现了另一个解决方法,可以用这种方法覆盖

  • 当单击时,我使用这个问题来获取。请注意,我正在将代码放在一个片段中。我改变了以下内容: 在settime.java中添加了:Context 它告诉我:构造函数没有定义。 我试着把它改成: 当试图运行应用程序时,我会遇到以下错误 appoinfragment.java settime.java

  • 问题内容: 我有一个功能,可以汇总我的甜蜜提示对话框。我想在很多地方使用它,因此在类似以下的函数中进行设置: 我想做的很简单:在某个地方调用该函数,然后根据用户的回答进行操作,因此: 但是我没有任何回应。实际上,我找不到这样的示例,我认为这不是常见的使用方式。但是怎么可能呢? 问题答案: 听起来您想要基于用户是否按下确认按钮或取消按钮的不同行为。 SweetAlert通过回调函数上的参数公开用户响

  • 我似乎无法从扩展Fragment的类中获得imageview上的onClick事件。我在这里做错了什么?我对Android开发相对来说是新手..

  • 当我从我的Android应用程序建立USB连接时,我收到一个Android USB主机权限确认对话框。 我想实现当用户在对话框外点击时,对话框不会被关闭。对此我要做些什么?如何设置用于usb主机权限确认对话框?