Angularjs 无法将API响应传递给uimodal

Angularjs 无法将API响应传递给uimodal,angularjs,angular-ui-modal,Angularjs,Angular Ui Modal,下面是我的代码片段,我试图使用uimodal显示用户详细信息和其他详细信息 我无法将响应数据绑定到uimodal,请帮助解决此问题 $scope.selectedUserData = ''; $scope.edituser = function (user) { usereditService.resp(size.userid, function (response) { if (response != false) { conso

下面是我的代码片段,我试图使用uimodal显示用户详细信息和其他详细信息

我无法将响应数据绑定到uimodal,请帮助解决此问题

    $scope.selectedUserData = '';
    $scope.edituser = function (user) {
    usereditService.resp(size.userid, function (response) {
        if (response != false) {
            console.log(response[0]);//Specific user details object from API
            selectedUserData = response[0];
        }
        else {
            console.log('no user found');
        }
    });

    $scope.modalInstance = $uibModal.open({
        animation: false,
        backdrop: 'static',
        templateUrl: '/_views/_editUser.html',
        controller: 'userController',
        size: size,
        resolve: {
            selectedData: function () {
                return $scope.selectedUserData;
            }
        },
        controller: function($scope, selectedData) {
            $scope.editobj = selectedData;
        }
    });

    modalInstance.result.then(function (response) {
        $scope.selected = response;
    }, function () {
        $log.info('Modal dismissed at: ' + new Date());
    });

};

数据来自异步响应,因此无法在请求时立即获取ajax响应数据

在这种情况下,您需要遵循承诺模式,并从
resolve
selectedData
函数返回承诺链模式中的数据

//assuming usereditService.resp is returning promise object
//it it doesn't returning promise object, you need to create it by custom promise using $q
var userDataPromise = usereditService.resp(size.userid).then(function (response) {
    if (response != false) {
        console.log(response[0]);//Specific user details object from API
        selectedUserData = response[0];
        return selectedUserData;
    }
    else {
        console.log('no user found');
        return 'no user found';
    }
}, function(error){
    console.log();
    return 'no user found';
});

$scope.modalInstance = $uibModal.open({
    animation: false,
    backdrop: 'static',
    templateUrl: '/_views/_editUser.html',
    controller: 'userController',
    size: size,
    resolve: {
        selectedData: function () {
            //returning response object here as a promise.
            return userDataPromise;
        }
    },
    controller: function($scope, selectedData) {
        $scope.editobj = selectedData;
    }
});

能否添加
usereditService.resp
code?