我正在启动WebOS dev,我怀疑我应该从哪里开始并停止我的听众 ? 我正在阅读 this书,但我找不到明确的解释.在示例中,作者在设置函数中设置了侦听器,但我想知道为什么?在模板的注释建
?
我正在阅读 this书,但我找不到明确的解释.在示例中,作者在设置函数中设置了侦听器,但我想知道为什么?在模板的注释建议中,将它们设置为激活功能并将其停止在停用功能中是不是更好的主意?
如果我错了什么样的events应该而且不应该放入设置和激活功能?
何时完全设置,激活,取消激活,清除功能?
StoryViewAssistant.prototype.setup = function() { //HERE, OK? this.nextStoryHandler = this.nextStory.bindAsEventListener(this); this.previousStoryHandler = this.previousStory.bindAsEventListener(this); this.controller.listen("nextStory", Mojo.Event.tap, this.nextStoryHandler); this.controller.listen("previousStory", Mojo.Event.tap,this.previousStoryHandler); /* add event handlers to listen to events from widgets */ }; StoryViewAssistant.prototype.activate = function(event) { //HERE? /* put in event handlers here that should only be in effect when this scene is active. For example, key handlers that are observing the document */ }; StoryViewAssistant.prototype.deactivate = function(event) { //HERE? /* remove any event handlers you added in activate and do any other cleanup that should happen before this scene is popped or another scene is pushed on top */ }; StoryViewAssistant.prototype.cleanup = function(event) { //HERE, OK? this.controller.stopListening("nextStore", Mojo.Event.tap, this.nextStoryHandler); };在创建场景时调用场景助手的设置,当从场景中弹出清除时调用清理.在安装程序中,控件的实际HTML内容不可用,因为尚未处理场景的模板.在模板处理完成后,如果可用,则调用ready方法,这是进行任何其他HTML DOM更改的好地方.在场景变为活动之前调用activate,而在弹出场景或在此场景之上推送另一个场景时调用deativate.当应用程序最小化到卡或恢复到全屏时,也会调用activate / * deactivate *.
通常最好在启动/停用时启动和停止事件监听器 – 将其活动时间保持在最低限度,并且更少的活动监听器使响应更快的系统.