Dash Plotly在两个页面中共享回调输入

问题描述 投票:0回答:1

My Dash App目前除了索引页面之外还有两页,它包含以下文件。

App.py
index.py
app1.py
app2.py

我在应用程序的第1页上有一个滑块,即在app1.py中。滑块值是回调的输入,用于在应用程序的第1页上创建绘图。

如果我想在应用程序的第2页中使用相同的滑块值进行另一个回调来绘制其他内容。如何将滑块值传递给app2.py?

callback plotly plotly-dash
1个回答
0
投票

您可以将其值存储在dcc.Store(https://dash.plot.ly/dash-core-components/store)组件中(在app1中):

@app.callback(
Output('dcc_store_compoenent_id', 'data')
[Inputs('your_slider_id', 'value')]
def store_slider_value_in_dcc_store(slider_value):
    return {'slider_app1_value': slider_value}

然后你可以用你想要的任何东西触发回调(在app2中)并使用你的dcc.State组件上的State访问数据:

@app.callback(
Output('the_output', 'you_want')
[Inputs('whatever', 'you_want')]
[State('dcc_store_compoenent_id', 'data'])
def func(input_value, data):
    slider_value = data['slider_app1_value']
    ...
© www.soinside.com 2019 - 2024. All rights reserved.