模型更新时,在backbone.js中调用异步视图

时间:2012-05-15 13:38:42

标签: html5 backbone.js underscore.js

我正在尝试制作一个练习backbone.js的演示应用程序。

在我的应用程序架构中,我首先设计了模型,并在其中编写了一个代码,用于解析JSON文件并将这些记录存储在localStorage中,然后使用localStorage的前10条记录填充模型的属性hotelsdata
然后每当我调用backbone.view.extend()时,我都会从模型对象中获取数据。

现在,我想要做的是每当我的模型更新时,我的视图也必须从模型中的新值更新。我已经尝试了

model.on('change',function())

触发但是当我在view.render()事件上调用change方法时,我的页面正在更新,但在页面上添加记录期间,我的滚动不起作用。

所以,任何人都可以建议我以某种方式异步调用view.render()方法,以便在view.render()的按下时间内不会影响我的页面滚动。

简而言之,当我的视图被更新时,页面的滚动必须有效。

1 个答案:

答案 0 :(得分:0)

我认为你有一个问题,我们怎么称呼它?野蛮渲染 :) ..

我应该看到你的render()方法来确认它,但我认为在你的渲染中你从DOM中移除了大部分页面,然后再次重新创建它。这可能会导致你的滚动乱七八糟。并且没有任何异步行为可以帮助您。

您应该逐个重新创建视图的子元素,以获得甜蜜的滚动感。

(如果我完全混淆,请告诉我们您的render()方法)