在 R Shiny 应用程序中访问 Javascript 变量

kay*_*arr 2 r shiny shinyjs

我想知道是否可以使用runjs()在我的 R 代码中创建的变量。例如,我是否能够访问函数today_var外部的变量以runjs()进行进一步分析。

if (interactive()) {
  library(shiny)
  shinyApp(
    ui = fluidPage(
      useShinyjs(),  
      actionButton("btn", "Click me")
    ),
    server = function(input, output) {
      observeEvent(input$btn, {

        runjs("var today_var = new Date(); alert(today);")
        #print(today_var)

      })
    }
  )
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

Por*_*hop 7

有一个很棒的功能叫做Shiny.onInputChange它会做你想做的

library(shiny)
library(shinyjs)
shinyApp(
  ui = fluidPage(
    useShinyjs(),  
    actionButton("btn", "Click me")
  ),
  server = function(input, output) {
    observeEvent(input$btn, {

      runjs('var today_var = new Date(); alert(today_var);Shiny.onInputChange("today_var",today_var);')
      print(input$today_var)

    })
  }
)
Run Code Online (Sandbox Code Playgroud)