我想发送一个ajax请求来获取modal的templateurl的jsp / html页面。 我用这样的代码写的。
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: 'pages/recordingDetailPopup .jsp',
controller: 'FileDetailCtrl',
size: 'lg',
resolve: {
activeRecords: function () {
return inbnoxList;
}
}
});
但我想做类似这样的事情
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: function(){
$http.get('fileDetailJsp');
},
controller: 'FileDetailCtrl',
size: 'lg',
resolve: {
activeRecords: function () {
return inbnoxList;
}
}
});
如何实现此功能。请建议。
答案 0 :(得分:1)
templateUrl
将返回一个承诺,而不是jsp
文件的回复。
在上面的场景中,您需要先从jsp
获取响应,然后在模态上调用.open
方法,如下所示 -
$http.get('fileDetailJsp').then(function(url){
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: url,
controller: 'FileDetailCtrl',
size: 'lg',
resolve: {
activeRecords: function () {
return inbnoxList;
}
}
});
}, function(){
// error here
});
希望这会有所帮助......
答案 1 :(得分:0)
当您致电$http.get('fileDetailJsp');}
时,会返回Promise。你致电$uibModal.open
的那一刻,承诺还没准备好。这就是你什么都没得到的原因。正如@pdenes所提到的那样,你需要这样的东西:
$http.get('fileDetailJsp').then(function(response) {
$uibModal.open(...use something from response...);
});