我正在使用angular-ui modal指令
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?
你可以试试一下
$scope.open = function () { var modalInstance = $modal.open({ controller: 'ModalInstanceCtrl',resolve: { items: function () { return ProductsFactory.getOneProduct(); } } }); };
基本上你的$ modal可以承诺,所以为什么不使用它。当承诺得到解决时,对象应该在控制器上可用。 ModalInstanceCtrl应该是
var ModalInstanceCtrl = function ($scope,items) {