Javascript 有吸引力的撕裂,但保留dom

Javascript 有吸引力的撕裂,但保留dom,javascript,single-page-application,ractivejs,Javascript,Single Page Application,Ractivejs,有没有一种切实可行的方法来销毁实例(unender事件侦听器等),但不删除它所做的DOM更改 我正在构建一个单页应用程序,目标是每个视图都是自己的ractive实例。但是,在某些情况下,存在持久数据,我希望避免“弹出”效应。通过保留DOM中的内容,下一个ractive实例可以加载页面更改并执行其差异,删除任何更改,但保留未更改的内容 提前谢谢。不过有一个问题:你为什么要这样做?我相信你真正的问题不在于你能否做到这一点,而在于你能否做到这一点,比如说我正在加载一个关于运动队的页面。在这个页面中,每

有没有一种切实可行的方法来销毁实例(unender事件侦听器等),但不删除它所做的DOM更改

我正在构建一个单页应用程序,目标是每个视图都是自己的ractive实例。但是,在某些情况下,存在持久数据,我希望避免“弹出”效应。通过保留DOM中的内容,下一个ractive实例可以加载页面更改并执行其差异,删除任何更改,但保留未更改的内容


提前谢谢。

不过有一个问题:你为什么要这样做?我相信你真正的问题不在于你能否做到这一点,而在于你能否做到这一点,比如说我正在加载一个关于运动队的页面。在这个页面中,每一条信息都有几个“标签”,但通过它们,顶部的所有团队名称保持不变。每个选项卡都是自己的ractive实例(每页仅1个)。切换选项卡时,它将销毁包含信息的先前视图,并使用新模板重建。但是,标题信息在这些视图中保持不变。如果我是从一个API下载这个团队信息而不是缓存它们,我会遇到这样的情况:视图被破坏,一旦加载,就会出现“弹出”效果。为什么不将标题数据从选项卡数据中分离出来,并将标题呈现在一个单独的组件中?这样,仅更改选项卡数据不会影响(因此不会重新渲染)标题组件?此外,当Ractive看到数据没有更改时,即使设置了相同的数据(即,当值已为2时设置2),它也不会重新呈现。为什么不将该数据存储在localstorage中,以便在代码运行时检查它是否在localstorage中。如果不是,你向他们询问信息,如果是,你就不要问。或者不要破坏包含绑定到Ractive实例的信息的数据源。@JosephDreamer我使用了您的解决方案,它似乎已经解决了我遇到的所有问题。非常感谢!但有一个问题:你为什么要这么做?我相信你真正的问题不在于你能否做到这一点,而在于你能否做到这一点,比如说我正在加载一个关于运动队的页面。在这个页面中,每一条信息都有几个“标签”,但通过它们,顶部的所有团队名称保持不变。每个选项卡都是自己的ractive实例(每页仅1个)。切换选项卡时,它将销毁包含信息的先前视图,并使用新模板重建。但是,标题信息在这些视图中保持不变。如果我是从一个API下载这个团队信息而不是缓存它们,我会遇到这样的情况:视图被破坏,一旦加载,就会出现“弹出”效果。为什么不将标题数据从选项卡数据中分离出来,并将标题呈现在一个单独的组件中?这样,仅更改选项卡数据不会影响(因此不会重新渲染)标题组件?此外,当Ractive看到数据没有更改时,即使设置了相同的数据(即,当值已为2时设置2),它也不会重新呈现。为什么不将该数据存储在localstorage中,以便在代码运行时检查它是否在localstorage中。如果不是,你向他们询问信息,如果是,你就不要问。或者不要破坏包含绑定到Ractive实例的信息的数据源。@JosephDreamer我使用了您的解决方案,它似乎已经解决了我遇到的所有问题。非常感谢!