2017-03-23 28 views
1

타이머를 반응 값으로 설정했습니다. $ total 값. 2017-03-22 23:55:40으로 카운트 다운하도록 설계되었으며 $ total 값이 0으로 계산되면 total2 values에 집계를 추가해야합니다. 그러나 앱을 실행하면 $ total 값은 고정되어 움직이지 않습니다. 나는 그것을 어떻게 카운트 다운시킬 수 있습니까?타이머가 0으로 카운트 다운 할 때 반짝 반짝 빛나는 응용 프로그램을 얻으려고합니다

library(shiny) 
library(lubridate) 

ui <- fluidPage(
    "Total:", 
    textOutput("total", inline = TRUE), 
    "Draft Count:", 
    textOutput("draft_count", inline = TRUE), 
    "Time:", 
    textOutput("time",inline=TRUE) 
) 

server <- function(input, output, session) { 
    values <- reactiveValues(total = as.numeric(as.POSIXct("2017-03-22 23:55:40")-now(),units="secs")) 
    values2 <- reactiveValues(total = 0) 

    observeEvent(values$total <= 0,{ 
    values2$total <- values2$total + 1 
    }) 

    output$total <- renderText({ 
    invalidateLater(1000,session) 
    values$total 
    }) 

    output$draft_count <- renderText({ 
    invalidateLater(1000,session) 
    values2$total 
    }) 

    output$time <- renderText({ 
    invalidateLater(1000,session) 
    as.character(as.POSIXct(now())) 
    }) 
} 

shinyApp(ui = ui, server = server) 

답변

0

나는이 당신이 원하는 것을 추측 :

server <- function(input, output, session) { 
#values <- reactiveValues(total = as.numeric(as.POSIXct("2017-03-22 23:55:40")-now(),units="secs")) 
    val <- reactive({ 
    invalidateLater(1000,session) 
    <- as.numeric(as.POSIXct("2017-03-22 23:55:40")-now(),units="secs") 
    }) 
    values2 <- reactiveValues(total = 0) 

    observeEvent(values$total <= 0,{ 
    values2$total <- values2$total + 1 
    }) 

    output$total <- renderText({ 
    invalidateLater(1000,session) 
    val() 
    }) 

    output$draft_count <- renderText({ 
    invalidateLater(1000,session) 
    values2$total 
    }) 

    output$time <- renderText({ 
    invalidateLater(1000,session) 
    as.character(as.POSIXct(now())) 
    }) 
}