角度"$ uibModalInstance.close(data)"如何工作?

Abd*_*del 17 angularjs angular-ui-modal

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题(1)

使用$uibModalInstance.close(非文字值,即:)传递属于模态范围的任何内容是否scope.x可以防止角度垃圾收集破坏整个模态范围?这是导致内存泄漏的情况吗?

问题2)

角度$uibModalInstance.close(data)究竟如何工作?

小智 8

请在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());
});
Run Code Online (Sandbox Code Playgroud)

上面,selectedItem变量是传递给的:

$uibModalInstance.close(rightHereGetsPassedAsResult)
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的时间,但是,这不回答我的任何问题,可能是你试图间接回答?请详细说明 (3认同)
  • 啊知道了,你试图解释如何使用它,但这不是我的问题 (2认同)