gpt4 book ai didi

ember.js - 防止 View 重新渲染

转载 作者:行者123 更新时间:2023-12-01 05:29:07 25 4
gpt4 key购买 nike

有没有办法告诉 Ember 不要重新渲染 View ?

一个简单的用例:

我有一个动态填充的客户列表。
单击列表中的客户将转到客户详细信息页面。
当我单击“返回”时,我希望在客户列表中处于完全相同的位置。

通常,Ember 会重新渲染 View (当我转换到另一个状态时),而我之前的位置丢失了。

最佳答案

我不想成为坏消息的承载者,但是如果您导航到应用程序的不同部分,则无法停止使用 ember 重新渲染。如果它不再可见,则项目已从 DOM 中弹出并且不再存在。

我已经在我自己的应用程序中通过使用 jQuery 获取页面或对象的滚动位置解决了这个问题。 jQuery Scroll Top .我所做的是在模型上放置了一个存储滚动位置的位置。然后在 View 中我有一个类似的东西

didInsertElement: function() {

//Restore previous scroll position
$('#item').scrollTop( this.get('model.scrollPosition') ); /* or on older ember builds `this.getPath('model.scrollPosition')` */

//Update the model with new scroll position when user scrolls
var _self = this;
$('#item').scroll(function(e){
_self.get('model').set('scrollPosition', $(this).scrollTop());
});

}

这里的关键要点是 View 必须重新渲染。没有什么可以阻止的。作为开发人员,您的工作是以可以恢复的方式保存 View 所需的任何状态(滚动位置、具有焦点的元素等)。 Ember 为您提供了执行此操作的工具。

关于ember.js - 防止 View 重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12327020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com