获取错误TypeError:onOk不是函数

时间:2016-01-15 21:06:34

标签: javascript angularjs

我想创建一个conformation对话框,在将数据发送到数据库之前要符合要求,但是获取此TypeError: onOk is not a function,onOk()定义为 ConfirmService ,请检查它。

  app.directive('confirmDialog', function(ConfirmService) {
      return {
          restrict: 'A',
          scope: {
              eventHandler: '&ngClick'
          },
          link: function(scope, element, attrs){
            element.unbind("click");
            element.bind("click", function(e) {
              ConfirmService.open(attrs.confirm, scope.eventHandler, 'confirm_dialog');
            });
          }
      }
  });

  app.service('ConfirmService', function($modal) {
    var service = {};
    service.open = function (text, onOk, dialog_type) {
      var modalInstance = $modal.open({
        templateUrl: 'templates/dialog.html',
        controller: 'ConfirmCtrl',
        resolve: {
          text: function () {
            return text;
          }
        }
      });

      modalInstance.result.then(function (selectedItem) {
        onOk();
      }, function () {
      });
    };    
    return service;
  })

  app.controller('ConfirmCtrl', function ($scope, $modalInstance, text) {
    $scope.text = text;
    $scope.ok = function () {
      $modalInstance.close(true);
    };

    $scope.cancel = function () {
      $modalInstance.dismiss('cancel');
    };
  });

1 个答案:

答案 0 :(得分:0)

你还没有展示出你如何使用你的指令,但我有很多疑问,这将是有效的,因为ngClick是一个指令,而不是一个函数,而你似乎正在传递{您服务中的{1}}参数。

onOk