2017-06-28 42 views
0

假設我有兩個動作按鈕。當我按「Go!」時,我想計算一個值,然後按第二個操作按鈕,我想在另一個計算中使用計算的值。此代碼不能正常工作,並給出了這樣的錯誤:使用動作按鈕進行計算並在另一個觀察事件中使用

「警告:錯誤observeEventHandler:對象‘_係數’未找到」

爲什麼不給我一個答案?

library(shiny) 

ui <- fluidPage(
    actionButton(inputId = "AB", label = "Go!"), 
    actionButton(inputId = "AB1", label = "Calculate!") 
) 

server <- function(input, output, session) { 
    observeEvent(input$AB,{ 
    coeff <- sum(1:15) 
    }) 

    observeEvent(input$AB1,{ 
    calculatedValue <- coeff*10 
    }) 

} 

shinyApp(ui = ui, server = server) 

回答

1

你最好使用reactiveValues作爲內部observeEvent犯規知道什麼coeff是,因爲它僅僅認爲它是一個局部變量,所以下面試試這個代碼。你可以用v$coeff訪問值和v$calculatedValue

library(shiny) 

ui <- fluidPage(
    actionButton(inputId = "AB", label = "Go!"), 
    actionButton(inputId = "AB1", label = "Calculate!"), 
    textOutput("myValue") 
) 

server <- function(input, output, session) { 

    v <- reactiveValues() 

    observeEvent(input$AB,{ 
    v$coeff <- sum(1:15) 
    }) 

    observeEvent(input$AB1,{ 
    v$calculatedValue <- v$coeff*10 
    }) 
    output$myValue <- renderText(v$calculatedValue) 

} 
shinyApp(ui = ui, server = server) 
+0

你怎麼會在UI中顯示的clculated價值? – agenis

+0

如果你不熟悉如何通過'renderText'顯示簡單的值,那麼你應該在閃亮的頁面https://shiny.rstudio.com/tutorial/上做教程。注意我添加了一個簡單的例子來說明'renderText' –

相關問題