钛我如何添加一个视图到单个上下文

时间:2013-04-06 23:57:32

标签: titanium

所以我有一个钛应用程序,我只是阅读单个上下文。 (顺便说一下,这里的某个人应该写一本关于钛合金编程的书......唯一一个没有真正提到单一背景或任何新奇的东西。哎呀,把它变成电子书。我会买它)

钛文档强调它们的使用(http://docs.appcelerator.com/titanium/latest/#!/guide/Coding_Strategies-section-29004891_CodingStrategies-Executioncontexts),然后礼貌地忘记了如何实现单个上下文!!

所以,问题: 假设我有awesomeWidget页面 - 这只显示一个按钮,当你点击一个按钮时会出现一个新的屏幕。

aswesomeWidget页面是通过另一个页面访问的 - 它不是来自钛应用程序的根目录。

保持单个上下文,如何将按钮创建的视图添加到当前窗口?

我:

保持一个指向当前(唯一)窗口的全局指针?

将保持当前窗口的变量传递给使用它的所有后续页面

其他什么?

1 个答案:

答案 0 :(得分:1)

首先,Titanium保留对your current window anyway for you, so this use case is easy的引用。例如:

awesomeWidgetButton.addEventListener('click' function(e) {
    var yourView = Ti.UI.createView({...});
    Titanium.UI.currentWindow.add(yourView);
});

如果您想进一步挖掘,单个上下文的概念与CommonJS模块和require关键字的使用密切相关。保持单个上下文非常简单,只需打开填充了url组件的窗口,然后自由使用require()关键字。除此之外,它取决于你的想象力来跟踪谁指向什么,反之亦然,有标准模式和best practices适用于这里(MVC,Singletons,只是保持简单)就像编码任何其他语言。