首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dash组件间隔属性n_intervals值在回调中显示的不同

dash组件间隔属性n_intervals值在回调中显示的不同
EN

Stack Overflow用户
提问于 2022-04-13 19:16:25
回答 1查看 351关注 0票数 1

我有一个简短的代码,它使用dcc.Interval组件来更新回调中的文本,在其中我尝试打印出n_intervals属性的值。

代码语言:javascript
复制
from dash import Dash, html, dcc, Input, Output

app = Dash()

dccinterval = dcc.Interval(
    id='interval-component',
    interval=1000,
    n_intervals=0
)

app.layout = html.Div(
    children=[
        html.Div(id='live-update-text'),
        dccinterval
    ]
)


@app.callback(Output('live-update-text', 'children'),
              Input(dccinterval, 'n_intervals'))
def update_message(n):
    print('current interval in update_message: ', dccinterval.n_intervals)
    print('current n in update_message: ', n)
    return 'Message: ' + str(n)


if __name__ == '__main__':
    app.run_server(debug=True, port=8058)

这是输出:

代码语言:javascript
复制
current interval in update_message:  0
current n in update_message:  0
current interval in update_message:  0
current n in update_message:  1
current interval in update_message:  0
current n in update_message:  2
current interval in update_message:  0
current n in update_message:  3
.
.
.

正如您可能看到的那样,通过输入获得的n_intervals值正在正确地变化,但是直接从interval组件获得的值始终保持在0。我想知道为什么。有人能帮我吗?我需要弄清楚这一点的原因是,在我的应用程序中,当我试图通过组件更改n_intervals的值时失败了。也就是说,当我尝试通过执行dccinterval.n_intervals = a number来设置值时,它不起作用。

非常感谢您的评论!

EN

回答 1

Stack Overflow用户

发布于 2022-04-16 13:28:58

dccinterval.n_intervals的出现很奇怪,因为这不是使用interval组件的正确方式。另一种方法是使用n (表示Input的间隔的函数参数)是正确的方法。但是,您的Input定义有点不正确。不必引用组件的变量(即dccinterval ),您需要引用该组件的id,如下所示:

代码语言:javascript
复制
Input('interval-component', 'n_intervals')

如果要更新该区间的值,则需要设置一个回调,该回调将其用作Output,如下所示:

代码语言:javascript
复制
Output('interval-component', 'n_intervals')

该函数将return要将间隔更新到哪个值。

编辑:所以,错误的方式不能工作的原因是,在布局中声明的变量dccinterval,在本例中,没有包含应用程序运行后的所有细节。回调函数的参数n在本例中具有正确的信息,因为它已经通过Dash更新。这与Dash的工作原理有关,以及如何--更深入地--在引擎盖下工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71862799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档