19

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');
  };
};

問題は、Modal コントローラーで「選択した製品」にアクセスできないことです。その理由は、幅の非同期呼び出しを行うためのものであり、GUI からのみアクセスできることを知っています。しかし、どうすればこの問題を解決できますか? 「$scope.selectedProduct」を ModalInstanceCtrl に送信するにはどうすればよいですか?

4

1 に答える 1