You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarto中无法在Shiny server代码块调用params的问题咨询

问题:Quarto Shiny Server上下文无法直接调用params参数

我原本预期带有#| context: server的代码块可以直接调用params参数,但实际测试发现无法实现,示例代码如下:

---
title: "test"
format: html
editor: visual
server: shiny
params:
  n: 5
---
verbatimTextOutput("text")
#| context: server

output$text <- shiny::renderText(params$n)

两种可行的替代方案

方案一:在data上下文逐个提取params参数

通过#| context: data代码块逐个提取params中的参数,再在server上下文使用:

---
title: "test"
format: html
editor: visual
server: shiny
params:
  n: 5
---
verbatimTextOutput("text")
#| context: data
#| include: false

n <- params$n
#| context: server

output$text <- shiny::renderText(n)

这种方式的缺点是需要逐个管理每个param元素,参数较多时比较繁琐。

方案二:在data上下文复制整个params对象

在#| context: data代码块中复制整个params对象,后续在server上下文直接调用复制后的对象:

---
title: "test"
format: html
editor: visual
server: shiny
params:
  n: 5
---
verbatimTextOutput("text")
#| context: data
#| include: false

params2 <- params
#| context: server

output$text <- shiny::renderText(params2$n)

这种方式无需逐个管理参数,使用起来更便捷,相对更优。

疑问

为何无法在#| context: server代码块中直接使用params$n?目前Quarto官方文档中也未提及Shiny上下文下的params相关内容。

内容的提问来源于stack exchange,提问作者Giovanni Colitti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 19:01:09