Как предотвратить прокрутку контента, когда Meteor обновляет коллекцию
Мой вопрос очень похож наэтот а такжевон тот но не совсем то же самое.
У меня есть следующий шаблон в моем приложении Meteor:
<template name="items">
<div class="mainframe">
<h3>Available items:</h3>
<div class="items-table-container">
<table class="table table-hover">
<tbody>
{{#each all_items}}
{{> item}}
{{/each}}
</tbody>
</table>
</div>
</div>
<div class="btn-group">
<button id="create" class="btn">Create new item</button>
</div>
</template>
Функция шаблона тривиальна:
Template.items.all_items = function () {
return Items.find({}, {sort: {name: 1}}).fetch();
}
Существует также событие, связанное с#create
кнопка, которая вставляет новый элемент в коллекцию элементов и работает нормально.
Теперь самая важная часть - это CSS:
.items-table-container {
height:340px;
overflow-y: scroll;
}
Поэтому я хочу, чтобы в моей таблице было прокручиваемое содержимое внутри области фиксированного размера. Проблема начинается, когда я прокручиваю содержимое таблицы элементов в одном браузере, а затем в другом браузере добавляю новый элемент. Первый браузер обновляет список элементов и прокручивает содержимое обратно в верхнюю позицию.
Вопрос в том, как предотвратить автоматическое обновление для одного шаблона? Я думаю, что в этом конкретном случае мне действительно нужно что-то вроде традиционного обновления веб-страницы: это нормально, если пользователь не видит добавленный элемент сразу, а после перезагрузки страницы.
Другая идея состоит в том, чтобы сделать какую-то нумерацию страниц вместо прокручиваемого контента. Я думаю, что это решило бы проблему, однако это было бы намного сложнее, и я хотел бы избежать этого.
Я думаю, что в идеале я бы хотел сказать Метеору, что я хочу, чтобы Метеор обновил шаблон не при изменении модели, а по запросу.