Инициализируйте глобальную переменную в боке и используйте ее в коде обработчика.Javascript

Форум по Javascript
Ответить
Anonymous
 Инициализируйте глобальную переменную в боке и используйте ее в коде обработчика.

Сообщение Anonymous »

Чего я хочу здесь достичь:
  • Я хочу сгенерировать статический 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»