【问题标题】:Angular bootstrap modal how to call service from ok function of the modal?Angular bootstrap modal如何从模态的ok函数调用服务?
【发布时间】:2014-08-18 19:02:26
【问题描述】:

我已经实现了Angular Bootstrap Modal。下面是它的角度代码

var ModalDemoCtrl = function ($scope, $modal, $log) {

  $scope.items = ['item1', 'item2', 'item3'];

  $scope.open = function (size) {

    var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      size: size,
      resolve: {
        items: function () {
          return $scope.items;
        }
      }
    });

    modalInstance.result.then(function (selectedItem) {
      $scope.selected = selectedItem;
    }, function () {
      $log.info('Modal dismissed at: ' + new Date());
    });
  };
};

// Please note that $modalInstance represents a modal window (instance) dependency.
// It is not the same as the $modal service used above.

var ModalInstanceCtrl = function ($scope, $modalInstance, items) {

  $scope.items = items;
  $scope.selected = {
    item: $scope.items[0]
  };

  $scope.ok = function () {
    $modalInstance.close($scope.selected.item);
  };

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

这很好用。

我的问题是如何在模态的控制器中使用服务?在 ok 函数中,我想进行服务调用并保存一些详细信息并使用成功和错误回调。

我不知道该怎么做。

【问题讨论】:

    标签: angularjs twitter-bootstrap


    【解决方案1】:

    您只需通过控制器构造函数注入您的依赖项,即:

    var ModalInstanceCtrl = function ($scope, $modalInstance, items, MyService) {
    
    $scope.ok = function () {
        MyService.doSomething();
        $modalInstance.close($scope.selected.item);
    };
    

    【讨论】:

      猜你喜欢
      • 2022-11-05
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      相关资源
      最近更新 更多