我正在尝试制作一个练习backbone.js的演示应用程序。
在我的应用程序架构中,我首先设计了模型,并在其中编写了一个代码,用于解析JSON文件并将这些记录存储在localStorage中,然后使用localStorage的前10条记录填充模型的属性hotelsdata
。
然后每当我调用backbone.view.extend()
时,我都会从模型对象中获取数据。
现在,我想要做的是每当我的模型更新时,我的视图也必须从模型中的新值更新。我已经尝试了
model.on('change',function())
触发但是当我在view.render()
事件上调用change
方法时,我的页面正在更新,但在页面上添加记录期间,我的滚动不起作用。
所以,任何人都可以建议我以某种方式异步调用view.render()
方法,以便在view.render()
的按下时间内不会影响我的页面滚动。
简而言之,当我的视图被更新时,页面的滚动必须有效。
答案 0 :(得分:0)
我认为你有一个问题,我们怎么称呼它?野蛮渲染 :) ..
我应该看到你的render()
方法来确认它,但我认为在你的渲染中你从DOM中移除了大部分页面,然后再次重新创建它。这可能会导致你的滚动乱七八糟。并且没有任何异步行为可以帮助您。
您应该逐个重新创建视图的子元素,以获得甜蜜的滚动感。
(如果我完全混淆,请告诉我们您的render()
方法)