角度模态范围值未设置

时间:2015-06-03 23:29:39

标签: angularjs angularjs-scope angular-ui-router angular-bootstrap

我正在使用Angular Bootstrap UI并使用Modal。我的主控制器中有一个变量,它在控制器负载上实例化。

$scope.links = {
            imagesa: ""
        };

关闭模态后,此变量未设置为值'wept'。

任何想法是什么问题在这里?

以下是打开模态对话框的功能

    $scope.instagramModal = function (size) {

        var modalInstance = $modal.open({
            templateUrl: 'instagramModal.html',
            controller: 'InstagramModalInstanceCtrl',
            size: size,
            resolve: {
                items: function () {
                    return $sails.get("/instagram/self").success(function (response) {

                        return response.data;

                    }).error(function (response) {
                        console.log('error');
                    });
                }
            }
        });

        modalInstance.result.then(function (selectedItem) {
            $scope.links.imagesa = 'Wept';

        }, function () {
            $log.info('Modal dismissed at: ' + new Date());
        });
    };

这是modalDialog控制器

.controller('InstagramModalInstanceCtrl', function ($scope, $modalInstance,items) {

        $scope.instapics = JSON.parse(items.data);

        $scope.selectIG = function(index) {
         $modalInstance.close($scope.instapics.data[index]);
        }

        $scope.cancel = function () {
            $modalInstance.dismiss('cancel');
        };
    });

2 个答案:

答案 0 :(得分:0)

你是如何关闭模态的?

您必须使用.close()而非dismiss()

关闭模式
$modalInstance.close();

答案 1 :(得分:0)

您的items对象正在返回$promise对象,而不是您期望的data对象。

我不会像这样解决注入依赖。我可能会将对$sails的调用包装成服务。但是,如果您想这样做,请尝试在模态控制器中使用success函数。

resolve: {
    items: function () {
        return $sails.get("/instagram/self");
}

//在您的模态控制器上

.controller('InstagramModalInstanceCtrl', function ($scope, $modalInstance, items) {

    items.then(function (response) {
        $scope.instapics = JSON.parse(response.data);
    })
});