我正在使用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');
};
});
答案 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);
})
});