【发布时间】:2016-09-02 08:18:27
【问题描述】:
我的代码有问题。每次我点击一个按钮时,我的情节(用 ggvis 构建)都会出现,但会立即消失。由于我的代码很长,下面的代码重现了我的问题。我想在我的渲染函数中重用反应数据帧 test0,我想这正是导致我的问题的原因。但这对我来说是必不可少的。这三个步骤(反应、观察、渲染)与我的代码相同。非常感谢您的帮助!
server.R
library(shiny)
library(ggvis)
library(dplyr)
data(mtcars)
shinyServer(function(input, output) {
test0 <- reactive({
df <- mtcars %>% select(mpg, wt)
(input$NextCounter + 1)*df
})
observe({
df <- test0()
if (!is.null(df)) {
ggvis(df, x = ~wt, y = ~mpg) %>% bind_shiny("plotggvis")
}
})
output$test1 <- renderUI({
df <- test0()
ggvisOutput("plotggvis")
})
})
ui.R
图书馆(闪亮)
shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
actionButton("NextCounter", "Next")
),
mainPanel(
uiOutput("test1")
)
)
))
【问题讨论】:
-
ggvisOutput应该在 UI 端 -
@s.brunel 感谢您的评论!所以你的意思是,将 ggvisOutput 放在 UI 中可以解决整个问题?但这是唯一的解决方案吗?由于布局原因,有时在服务器中创建整个输出很重要...
-
你可以检查这个stackoverflow.com/questions/25088248/…它应该有帮助
-
这很有帮助 - 非常感谢!但是还是很可惜,没有解决方案,让一切都可以在服务端做。