angular-strap モーダルの使用に問題があります。$http を使用してデータをフェッチし、その結果をモーダルに表示しようとしています。奇妙な部分は、データを表示/表示するためにモーダルを 2 回開かなければならないことです。私は以下のコードを持っています:
.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(result) の前に console_log(items) を最初に起動することを理解しました。したがって、モーダルを再度開くと、データが表示されます。$http を同期して、最初に呼び出されるのはいつですか?