5
我有一些模板,看起來大致是這樣的:重新渲染列表模板導致頁面滾動到頂部
<template name="items">
<div class="item-list">
{{#each items}}
{{> item}}
{{/each}}
<div>
{{> loadMore}}
</template>
<template name="item">
<div class="item" id="{{unique_string}}">
<!-- stuff here -->
</div>
</template>
<template name="loadMore">
<a href="#">Load more...</a>
</template>
相關聯的javascript:
Template.items.items = function() {
return Items.find({}, {limit: Session.get("itemCount")});
}
Template.loadMore.events({
"click": function() {
Session.set("itemCount", Session.get("itemCount") + 10);
}
})
所有一起更多或更少給我的東西幾乎像一個無限的滾動部分。 (實際的代碼有幾多個移動部件,但這是重要的一點。)
每當我點擊loadMore
,雖然,這兩個拉更多的數據下降和滾動我回到頁面頂部,而是打敗了無限滾動的目的。我可以投入一些JavaScript來回滾到應該出現的位置,但當頁面跳躍時,會留下一個令人討厭的閃爍。
我試過在整個列表以及每個項目div
上使用preserve
以防止它們被更新,但這似乎並沒有阻止滾動。我也嘗試過把{{#isolate}}
塊放在任何東西周圍,沒有任何運氣。
有什麼我可以在這裏做,使頁面不滾動時,它重新呈現?組合模板的方式不同?我錯過了preserve
或{{#isolate}}
的某些方面?
...當然。誰會懷疑我長久以來一直盯着這片森林的樹林將會是什麼? – user1830246