- Я хочу сгенерировать статический HTML и выполнить инициализацию данных ровно один раз
< li>Я хочу передать в документ сложную структуру данных и использовать ее с помощью нескольких кнопок/элементов пользовательского интерфейса. - Я не хочу передавать одну и ту же сложную структуру данных каждой кнопке/элементу пользовательского интерфейса. элемент как свойство source, поскольку он создаст HTML-файл большего размера
Код: Выделить всё
from bokeh.models import Div, CustomJS
from bokeh.layouts import column
from bokeh.plotting import show
from bokeh.io import curdoc
dummy_div = Div(text="")
init_code = CustomJS(code="""
window.sharedData = { initialized: true };
console.log("Data initialized in Div change");
""")
#dummy_div.js_on_change("text", init_code)
button1 = Button(label="Log Complex Data", button_type="success")
button1.js_on_click(CustomJS(code="""
console.log("Current shared data:", window.sharedData);
"""))
# button_N = ...
layout = column(dummy_div, button1)
curdoc().add_root(layout)
curdoc().on_event('document_ready', lambda event: init_code.execute(curdoc()))
show(layout)
Подробнее здесь: https://stackoverflow.com/questions/793 ... ndler-code