1

我有一个关于 ember js 中用于视图的 div 缓存的问题。

我正在渲染一个非常繁重的 Flash 应用程序作为视图的一部分,我想在视图之间切换,但不一定必须从头开始重新加载 Flash 应用程序。我最好希望它被“隐藏”。

有没有办法在 ember 中执行此操作目前我正在使用https://github.com/ghempton/ember-routemanager实现此功能,其中一个 flash 应用程序保留在 /#media 上,另一个在 /#publishing 所以当用户去/#media media.swf 被加载,/#publishing publishing.swf 被加载到容器 div 中。这些路由中的每一个都有一个与之关联的相应视图类,用于呈现要呈现的 Flash 对象标签。

过去,我使用 jquery 来隐藏容器 div,但我正在寻找更清洁的解决方案。

4

1 回答 1

2

听起来您想要的功能是能够重用视图实例,并且它是跨状态的 DOM。我对如何做到这一点有一些想法,不幸的是,如果没有一些讨厌的黑客,现在是不可能的。

此外,不幸的是,对于 flash 对象,如果您在 DOM 中移动它们或更改它们的可见性,它们似乎会重新渲染。据我所知,要“隐藏”一个 Flash 对象而不导致重新渲染,您只能使用 CSS 将其移出屏幕。

更新:

这是一个有效的 jsFiddle 示例:http: //jsfiddle.net/EE3B8/1

不幸的是,该技术不适用于 Flash 对象,因为在 DOM 中移动它们会导致它们被重新加载。这将是消除昂贵的 DOM 创建/视图实例化的好方法。

于 2012-05-27T15:30:59.247 回答