带有reactiveValues的闪亮范围规则

时间:2015-12-07 03:54:02

标签: r shiny

我尝试使用已定义的函数来更改observeEvent内的一些反应值。但是,如果我在shinyServer之外定义函数,它就不起作用。下面的最小例子:

library(shiny)

set_values <- function() v$i2 <<- v$i2 + 1
ui <- shinyUI(fluidPage(
   sidebarLayout(
      sidebarPanel(
         actionButton("inc", "Increase")
      ),
      mainPanel(
         verbatimTextOutput("text")
      )
   )
))

server <- shinyServer(function(input, output) {
    set_values2 <- function() v$i1 <- v$i1 + 1
    v <- reactiveValues(i1 = 0, i2 = 0)
    observeEvent(input$inc, set_values())
    observeEvent(input$inc, set_values2())
    output$text <- renderPrint({
       print(v$i1)
       print(v$i2)
   })
})

shinyApp(ui = ui, server = server)

当我尝试点击“增加”按钮时,应用程序崩溃并显示以下警告:

Warning: Unhandled error in observer: object 'v' not found
observeEvent(input$inc)

set_values2()的变体也适用。

0 个答案:

没有答案