BackboneJs: использование частичной выборки против 1 коллекции в течение всего срока службы приложения - PullRequest
1 голос
/ 23 октября 2011

Я немного запутался с выборкой по коллекциям, как я вижу это сейчас, семантически выборка пошла бы, чтобы получить все доступные модели с сервера, но иногда вам нужны только топ-5 или вы хотите показывать элементы по 10(например, подкачка страниц)

пример:

Movie = Backbone.Model.extend({
    idAttribute: "Id"
});

MovieList = Backbone.Collection.extend({
    model: Movie,
    url: "/api/movies"
});

$(function(){
    movies = new MovieList();
    movies.fetch(); // simplified example, i know best practice is not to fetch on document ready...
});

это шоу - модель под названием movie, в коллекции movielist вызов movies.fetch(); переходит к URL-адресу beeing /movies, который встроен вasp.net mvc3 и - упрощенно для этого примера - в основном возвращает все фильмы в базе данных.

Теперь, допустим, я создаю представление панели инструментов, которое, среди прочего, должно показывать 10 самых последних фильмов

Нужно ли мне снова делать выборку, но как-то передать, я хочу только топ-10?или мне нужно работать с 1 коллекцией всех фильмов в течение всей жизни моего приложения?и просто запросить коллекцию вместо этого?

, если бы я обратился к последнему, и использовать 1 коллекцию через все приложение, как мне поддерживать ее актуальность?в то же время другие пользователи могли добавлять фильмы, не прибегая к использованию сокетов для визуализации в реальном времени.

чем больше я думаю об этом, тем больше идей получаю, когда используется не полная коллекция, поэтому либо запрашиваюсервер и получение только необходимого или получение всего этого один раз и запрос коллекции будет актуальным вопросом.

1 Ответ

0 голосов
/ 23 октября 2011

Я еще этого не делал, но тоже обдумываю.Если бы я хранил 1 коллекцию, я бы, вероятно, настроил службу смены фильмов, которая возвращает объекты команд, указывающие новые фильмы, модификации и удаления.Долго опрашивайте эту службу с параметром «since = », чтобы получить изменения с момента последней проверки, и используйте ответ для обновления коллекции.Это должно инициировать изменения событий, чтобы представления обновлялись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...