我从this question中学到了您可以将 shinyApp 选项设置为 showcase mode
为了可视化(即突出显示)当用户与您的应用程序交互时,您的 Shiny 代码的哪些部分正在执行。
但是,当我尝试使用 knitr/R markdown 将其应用于交互式 Shiny 文档时,展示的代码无法显示。
如何让展示模式
在交互式文档中工作?
示例:
---
title: "Showcase Mode Doesn't Work in knitr"
output: html_document
runtime: shiny
---
See, look, no highlatable code shows up with the app:
```{r, echo=FALSE}
library(shiny)
ui <- fluidPage(
textInput(inputId = 'textin', label = ''),
textOutput(outputId = 'textout')
)
server <- function(input, output){
output$textout <- renderText({input$textin})
}
shinyApp(ui = ui, server = server, options = list(display.mode='showcase'))
```
最佳答案
无法为 markdown
文档指定 showcase 模式
的原因很简单——它不存在。
Knitr
(和 Rmarkdown
文档)在 html
页面中预呈现输出结果。在交互式 html
文档的情况下,它会为您的“渲染对象”预渲染所有输出,并根据输入指定在它们之间切换(如果我理解 Yihui Xie 在今年的 Rconf)。
而在 shiny
中,输出是动态生成的,因为有一个后端(您的计算机、服务器等)在输入更改时运行新代码。这就是为什么您可以打开 showcase
并看到那些东西发生变化并动态重新运行的原因。
关于r - 如何使展示模式在 rmarkdown/knitr 交互式 Shiny 文档中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504405/