javascript - 按钮类型 ="submit"上的确认对话框指令 - AngularJS

标签 javascript angularjs

我想在提交表单时创建确认对话框的指令。我发现的问题here类似,但它没有解决我的问题:

<button confirm-ng-click="Reset password?" type="submit" class="md-primary">Reset</button>

还有 JS:

(function () {
    'use strict';

    angular.module('haha', [])
        .directive('confirmNgClick', [ConfirmNgClick]);

    function ConfirmNgClick() {
        return {
            priority: -1,
            restrict: 'A',
            link: function (scope, element, attrs) {
                element.bind('click', function (event) {
                    var message = attrs.confirmNgClick;
                    if (message && !confirm(message)) {
                        event.stopImmediatePropagation();
                        event.preventDefault();
                    }
                })
            }
        }
    }
})();

所以,当我单击按钮时,对话框不会显示。我错过了什么?

最佳答案

将代码按原样插入 fiddle 并查看控制台会产生此错误:

未捕获错误:[$injector:nomod] 模块“哈哈”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

注册模块时需要指定一个数组作为第二个参数。

(function() {
  'use strict';

  // Notice second argument here
  angular.module('haha', [])
    .directive('confirmNgClick', [ConfirmNgClick]);

  function ConfirmNgClick() {
    return {
      priority: -1,
      restrict: 'A',
      link: function(scope, element, attrs) {
        element.bind('click', function(event) {
          var message = attrs.confirmNgClick;
          if (message && !confirm(message)) {
            event.stopImmediatePropagation();
            event.preventDefault();
          }
        })
      }
    }
  }
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="haha">
  <button confirm-ng-click="Reset password?" type="submit" class="md-primary">Reset</button>
</div>

关于javascript - 按钮类型 ="submit"上的确认对话框指令 - AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31682777/

相关文章:

javascript - 多个条目后字符串替换然后拆分

javascript - AngularJS 验证和带方括号的字段名称

javascript - 在应用所有范围后触发的 AngularJS 事件

javascript - 如果选中,AngularJS 数据绑定(bind)复选框到对象

javascript - ngAnimate 仅在 IE9 中部分降级

javascript - 加载以作为 jquery 中的追加工作

javascript - rails : onchange posting not sending param

javascript - IE中如何从URL字符串中获取域名

javascript - 我的程序遇到错误。错误是(我认为)正在更改图像的来源。

javascript - 如何使用 ExtJS 4.1 将一个网格放入另一个网格的单元格中