所以我有一个钛应用程序,我只是阅读单个上下文。 (顺便说一下,这里的某个人应该写一本关于钛合金编程的书......唯一一个没有真正提到单一背景或任何新奇的东西。哎呀,把它变成电子书。我会买它)
钛文档强调它们的使用(http://docs.appcelerator.com/titanium/latest/#!/guide/Coding_Strategies-section-29004891_CodingStrategies-Executioncontexts),然后礼貌地忘记了如何实现单个上下文!!
所以,问题: 假设我有awesomeWidget页面 - 这只显示一个按钮,当你点击一个按钮时会出现一个新的屏幕。
aswesomeWidget页面是通过另一个页面访问的 - 它不是来自钛应用程序的根目录。
保持单个上下文,如何将按钮创建的视图添加到当前窗口?
我:
保持一个指向当前(唯一)窗口的全局指针?
将保持当前窗口的变量传递给使用它的所有后续页面
其他什么?
答案 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,只是保持简单)就像编码任何其他语言。