Плагин JStree для jQuery позволяет загружать данные для подачи элемента графического интерфейса навигации по дереву, предоставляемого библиотекой.
Для небольших деревьев, просто загрузите их все в память, и все готово. Но для больших деревьев это не может быть хорошим решением. Подход "все в памяти" не масштабируется.
Подумайте 6000 узлов (или 60000), большинство из которых никогда не будут иметь отношения к пользователю, просматривающему страницу. Разве не было бы лучше тогда загружать только первый уровень ветвей и постепенно загружать больше веток после того, как пользователь нажимает на то, что уже отображено? Это, конечно, будет.
Вы отметите дерево там, где у него пропущены ветви, затем загрузите недостающие ветви по требованию, удалите метку из дерева, привяжете ветку к дереву и продолжите таким образом рекурсивно, если это необходимо.
Как вы делаете некрасивую загрузку? Я нашел вопрос от 2009 года, касающийся той же проблемы , но API, похоже, изменился. У кого-нибудь есть рецепт, как поступить для текущей версии библиотеки?
Обратите внимание, что инкрементная загрузка отличается от инкрементного рендеринга, что является еще одной оптимизацией, уже предоставленной библиотекой.