Jstree: добавочная загрузка - PullRequest
       10

Jstree: добавочная загрузка

0 голосов
/ 22 ноября 2011

Плагин JStree для jQuery позволяет загружать данные для подачи элемента графического интерфейса навигации по дереву, предоставляемого библиотекой.

Для небольших деревьев, просто загрузите их все в память, и все готово. Но для больших деревьев это не может быть хорошим решением. Подход "все в памяти" не масштабируется.

Подумайте 6000 узлов (или 60000), большинство из которых никогда не будут иметь отношения к пользователю, просматривающему страницу. Разве не было бы лучше тогда загружать только первый уровень ветвей и постепенно загружать больше веток после того, как пользователь нажимает на то, что уже отображено? Это, конечно, будет.

Вы отметите дерево там, где у него пропущены ветви, затем загрузите недостающие ветви по требованию, удалите метку из дерева, привяжете ветку к дереву и продолжите таким образом рекурсивно, если это необходимо.

Как вы делаете некрасивую загрузку? Я нашел вопрос от 2009 года, касающийся той же проблемы , но API, похоже, изменился. У кого-нибудь есть рецепт, как поступить для текущей версии библиотеки?

Обратите внимание, что инкрементная загрузка отличается от инкрементного рендеринга, что является еще одной оптимизацией, уже предоставленной библиотекой.

1 Ответ

1 голос
/ 23 ноября 2011

Lumi, так работает плагин.

Загляните на страницу Demo , примерно на полпути вниз, в раздел "Порядок демонстрации PHP и mySQL + событие". В примере для передачи данных используется формат JSON, который является стандартом де-факто, но плагин также поддерживает другие форматы. При расширении родительского узла выполняется запрос AJAX для загрузки следующего уровня узлов.

...