为什么第二次打不开AlloyUI模态对话框?
Why does not open AlloyUI modal dialog in the second time?
我正在尝试将外部 URL 加载到 Liferay Portal 中的模态 AlloyUI 对话框中。如果我第一次打开对话框,内容显示但第二次内容不显示。如果刷新页面显示。
这是我的功能:
Liferay.provide(
window,
'openModal',
function(title, url) {
var A = AUI();
var width = 800;
var modal = Liferay.Util.Window.getWindow({
dialog: {
centered: true,
constrain2view: true,
modal: true,
resizable: false,
height: 650,
width: width,
//destroyOnClose: true,
destroyOnHide: true,
toolbars: {
footer: [
{
label: 'Close',
cssClass: 'btn-link pull-right',
on: {
click: function() {
modal.hide();
}
}
}
]
}
},
closeOnOutsideClick: true,
id:'test-dialog',
title: title
}).plug(A.Plugin.IO, {
uri: url,
on: {
success: function(event) {
console.log("success");
},
complete: function(event) {
console.log("complete");
},
start: function(event) {
console.log("start");
},
failure: function(event) {
console.log("failure");
}
}
}).render();
}
);
这个link中使用的函数:
<a href="javascript:openModal('${title}','${url}');">Open dialog</a>
当我第二次打开对话框时出现此错误:
Cannot read property 'Window' of undefined
通过使用 A.Plugin.DialogIframe
模块代替 A.Plugin.IO
解决
我正在尝试将外部 URL 加载到 Liferay Portal 中的模态 AlloyUI 对话框中。如果我第一次打开对话框,内容显示但第二次内容不显示。如果刷新页面显示。
这是我的功能:
Liferay.provide(
window,
'openModal',
function(title, url) {
var A = AUI();
var width = 800;
var modal = Liferay.Util.Window.getWindow({
dialog: {
centered: true,
constrain2view: true,
modal: true,
resizable: false,
height: 650,
width: width,
//destroyOnClose: true,
destroyOnHide: true,
toolbars: {
footer: [
{
label: 'Close',
cssClass: 'btn-link pull-right',
on: {
click: function() {
modal.hide();
}
}
}
]
}
},
closeOnOutsideClick: true,
id:'test-dialog',
title: title
}).plug(A.Plugin.IO, {
uri: url,
on: {
success: function(event) {
console.log("success");
},
complete: function(event) {
console.log("complete");
},
start: function(event) {
console.log("start");
},
failure: function(event) {
console.log("failure");
}
}
}).render();
}
);
这个link中使用的函数:
<a href="javascript:openModal('${title}','${url}');">Open dialog</a>
当我第二次打开对话框时出现此错误:
Cannot read property 'Window' of undefined
通过使用 A.Plugin.DialogIframe
模块代替 A.Plugin.IO