我在使用angular-strap模式时遇到了问题。我正在尝试使用$http获取数据,并将其结果显示到模型中。奇怪的是,我必须打开两次模式才能显示/显示数据。我有下面的代码:
.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,使其何时成为第一个被调用的对象?
发布于 2013-09-18 19:52:03
好了,终于想明白了。解决了自己的问题。
下面是我的解决方案:
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;
}
};https://stackoverflow.com/questions/18852817
复制相似问题