繁体   English   中英

Angular-ui模态,从$ http发送数据到模态控制器

[英]Angular-ui modal, sending data into modal controller from $http

我正在使用angular-ui模态指令http://angular-ui.github.io/bootstrap/

我已经按照上面的链接示例。

这是我想从控制器发送的数据:

ProductsFactory.getOneProduct().then(function(d){
  $scope.selectedProduct = d.data;
});

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

这是我的模态控制器:

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

  console.log(selectedProduct);

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

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

问题是我无法访问我的模态控制器中的“选定产品”。 我知道原因是做宽度异步调用,它只能从GUI访问。 但是我该如何解决这个问题呢? 如何将“$ scope.selectedProduct”发送到我的ModalInstanceCtrl?

你可以尝试类似的东西

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

基本上你的$modal可以承诺,所以为什么不使用它。 现在,当promise得到解决时,对象应该可以在控制器上使用。 ModalInstanceCtrl应该是

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

因为您要解析items属性而不是selectedProduct属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM