AngularJS的官方文档不包含任何描述如何$uibModalInstance.close
工作的东西,在下面的代码片段中,scope.close
是用于关闭模态窗口并将对象传递给调用者控制器的方法
var app = angular.module('myApp');
app.controller('ModalController', ['$uibModalInstance', modalControllerFn]);
function modalControllerFn($uibModalInstance) {
var scope = this;
// some data object
scope.data = {key1: "value1", key2: "value2"};
scope.close = function() {
$uibModalInstance.close(scope.data);
}
}
使用$uibModalInstance.close
(非文字值,即:)传递属于模态范围的任何内容是否scope.x
可以防止角度垃圾收集破坏整个模态范围?这是导致内存泄漏的情况吗?
角度$uibModalInstance.close(data)
究竟如何工作?
请在Angular UI Bootstrap的网站上查看JavaScript示例: Angular UI Bootstrap Modal
向下滚动一下,然后单击JavaScript选项卡以查看代码.
重要的是这个:
modalInstance.result.then(function (selectedItem) { $scope.selected = selectedItem; }, function () { $log.info('Modal dismissed at: ' + new Date()); });
上面,selectedItem
变量是传递给的:
$uibModalInstance.close(rightHereGetsPassedAsResult)