我正在构建一个使用SWFAddress的Flex应用程序。每当我通过SWFAddress“SWFAddress.setValue()
方法更新被劫持的URL时,我都会注意到它导致SWFAddressEvent.CHANGE
事件被调度,导致我的页面再次经历其更新周期。
SWFAddress中是否有一个方法“静默”更新被劫持的URL,以便不调度SWFAddressEvent.CHANGE
事件?
我现在能想到的唯一解决方法是删除事件监听器,更改URL,然后将其添加回来。但这似乎......真的......效率低下。有什么想法吗?
感谢您的时间。
答案 0 :(得分:1)
嘿刚刚查看了源代码,那里没有任何内容可以让你阻止事件,如果它是一个新值,那么事件就会被调度(看起来它在init期间跳过这样做但在所有其他情况下如果更改发生它被派遣)。您可以修改源,因为它可用并将自己的布尔值添加到SWFAddress以阻止它调度事件,否则就像您已经说过删除/添加侦听器是一个选项,如果它只有一个对象添加/删除了我不要不要认为表现会受到影响。