Dash Plotly делится входными данными обратного вызова на двух страницах - PullRequest
0 голосов
/ 14 декабря 2018

Приложение My Dash в настоящее время состоит из двух страниц, помимо страницы индекса, и состоит из следующих файлов.

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

У меня есть слайдер на странице 1 приложения, а именно в app1.py.Значение слайдера - это ввод обратного вызова для построения графика на странице 1 приложения.

Если я хотел бы использовать то же значение слайдера для другого обратного вызова на странице 2 приложения, чтобы построить что-то еще.Как передать значение слайдера в app2.py?

1 Ответ

0 голосов
/ 31 января 2019

Вы можете сохранить его значение в компоненте 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) с любым, что вы хотитеи получить доступ к данным с помощью State в вашем компоненте dcc.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']
    ...
...