我在Alloy中编写了所有项目的代码,所以这里没有经典的Titanium。 我想在索引中加载外部自定义AlertDialog(位于views / popup.xml中)。因此,我需要通过单击“确定”按钮显示警报并将其销毁(对于ie。)。 “帮助”按钮应该执行其他操作。
我的popup.xml文件:
<Alloy>
<AlertDialog id="popup" title="Error popup"
message="There is an error" cancel="1">
<ButtonNames>
<ButtonName>OK</ButtonName>
<ButtonName>Help</ButtonName>
</ButtonNames>
</AlertDialog>
</Alloy>
我的index.js文件:
function openPopup(e) {
var page = Alloy.createController('views/popup').getView();
page.show();
};
openPopup();
但这给了我一个错误:
我没有popup.js,我也不需要index.js中的任何文件。所以我的问题是:如何动态加载控制器?如何使用addEventListener删除(或销毁)&#34;单击&#34;行动?谢谢。
答案 0 :(得分:0)
同意乌龟。当您创建控制器时,它隐式地知道您在引用app / views目录中的视图。
您应该通过不创建局部变量(用于垃圾收集目的)来略微改进您的代码。所以而不是:
var page = Alloy.createController('views/popup').getView();
page.show();
你应该这样做:
Alloy.createController('views/popup').getView().open();
您可以在splendid article by Fokke Zandbergen中找到有关此内容的更多信息。
/约翰