1 回答

TA貢獻2019條經驗 獲得超9個贊
您可以在嵌入另一個JS庫block postamble等中描述的背景虛化模板的一部分在這里。然后如果你給你的滑塊一個名字,你可以像這樣訪問它:
Python:
slider = Slider(start=0, end=10, value=5, name='my_slider')
JS:
var slider = Bokeh.documents[0].get_model_by_name('my_slider')
console.log('slider value before:', slider.value)
slider.value = 10
console.log('slider value after:', slider.value)
這是假設document您的應用程序中只有一個 Bokeh (注意 中的0索引documents[0])。然后,您可以Slider像在 CustomJS 回調中一樣訪問和操作該對象,但請注意,在這種情況下,cb_obj和cb_data不可用。
請參閱下面的完整工作示例(Bokeh v1.3.0):
external_js.py:
from bokeh.io import save
from bokeh.models import Slider, Column
from bokeh.util.browser import view
template = """
{% block postamble %}
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
$(document).ready(function() {
var slider = Bokeh.documents[0].get_model_by_name('my_slider')
console.log('slider value before:', slider.value)
slider.value = 10
console.log('slider value after:', slider.value)
});
</script>
{% endblock %}
"""
slider = Slider(start=0, end=10, value=5, name='my_slider')
save(Column(slider), template=template)
view("external_js.html")
添加回答
舉報