首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >必须打开两次才能使用angular-strap模式显示数据

必须打开两次才能使用angular-strap模式显示数据
EN

Stack Overflow用户
提问于 2013-09-17 22:37:10
回答 1查看 364关注 0票数 0

我在使用angular-strap模式时遇到了问题。我正在尝试使用$http获取数据,并将其结果显示到模型中。奇怪的是,我必须打开两次模式才能显示/显示数据。我有下面的代码:

代码语言:javascript
复制
.controller('ModalCtrl', ['$scope', '$modal', 'Api', function(scope, modal, Api) {
  scope.open = function (gameId) {

    Api.getGameByGameId(gameId).then(function(result) {
            console.log(result);
            scope.items = result.data;
        }, function(result) {
            console.log(result);
        });

    var modalInstance = modal.open({
      templateUrl: 'myModalContent.html',
      controller: 'ModalInstanceCtrl',
      resolve: {
        items: function () {        
          return scope.items;
        }
      }
    });

    modalInstance.result.then(function (selectedItem) {
        console.log(selectedItem);
      scope.selected = selectedItem;
    }, function () {
        console.log('Modal dismissed');
    });
  };
}])
.controller('ModalInstanceCtrl', ['$scope', '$modalInstance', 'items', function(scope, modalInstance, items) {
    console.log(items);
    scope.items = items;
}])

使用firebug控制台,我认为在我的$http调用中,它首先触发的是结果(Console_log),然后是结果(console.log)。因此,当我再次打开模型时,它就会显示数据。如何同步我的$http,使其何时成为第一个被调用的对象?

EN

回答 1

Stack Overflow用户

发布于 2013-09-18 19:52:03

好了,终于想明白了。解决了自己的问题。

下面是我的解决方案:

代码语言:javascript
复制
var getGameDetail = {
        async: function() {
            var promise = Api.getGameByGameId(gameId).then(function(result) {
                    console.log(result);
                    return result.data;
                }, function(result) {
                    console.log(result);
                }); 
                return promise;
        }
    };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18852817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档