Это отличная функция, но что если содержимое пользовательского раздела боковой панели необходимо создавать программно? Я реализовал это способом, похожим на тот, что описал @Olya_Fursova выше, с той разницей, что содержимое генерируется путем запроса к API, а затем отображаются ссылки — некоторые ведут к категориям, а некоторые напрямую к определённым темам. Я столкнулся с двумя проблемами:
Если боковая панель скрыта при первоначальном отображении страницы, динамический контент не будет показан, так как контейнер боковой панели отсутствует. Кроме того, если боковая панель изначально отображается, затем сворачивается и снова разворачивается, динамический контент исчезает, потому что контейнер боковой панели перерисовывается без выполнения пользовательской логики. Вопрос: есть ли способ подключиться к процессу отображения боковой панели, чтобы выполнять мой пользовательский код каждый раз при её показе?
Когда нажатие на ссылки, которые я программно добавляю в боковую панель, приводит к полной перезагрузке страницы. Вопрос: есть ли способ предотвратить полную перезагрузку страницы при клике на одну из моих пользовательских ссылок в боковой панели?
Было бы действительно замечательно, если бы существовал способ программно изменять боковую панель!
Это помечено как экспериментальная функция, но её использование безопасно (мы, например, используем её для добавления контента чата в боковую панель при включении).
Это выглядит интересно, спасибо! Правда, мне ещё потребуется время, чтобы во всём разобраться, например, я пока не до конца понял, как работает маршрутизация. Кроме того, похоже, что ссылки в разделе могут быть только в виде плоского списка, верно? То, что я сейчас пытаюсь реализовать, выглядит примерно так, то есть с одним уровнем отступа:
Нет, мы по умолчанию не предусмотрели какой-либо отступ в боковой панели… но если вы можете расположить свои разделы в нужном порядке с помощью API, то, думаю, отступы можно будет реализовать с помощью стилей CSS?
После более тщательного изучения я уверен, что это сработает, да! Моя нынешняя проблема заключается в том, что список ссылок динамический и может меняться при каждой смене страницы. Мой наивный подход вызова api.addSidebarSection внутри api.onPageChange не работает, потому что (a) боковая панель обновляется только при её перерисовке через скрытие и повторное отображение, и (b) разделы дублируются, так как api.addSidebarSection не проверяет, используется ли ключ имени повторно.
Есть ли шанс реализовать раздел боковой панели, который обновляется при каждом переходе между страницами с помощью нового API?