闪亮 - 如何将渲染功能分成不同的文件?

时间:2015-07-25 11:33:16

标签: r shiny

如何将Rendering functions分成不同的文件?

例如,

我在服务器中有这个.R,

shinyServer(function(input, output, session) {

   output$text <- renderUI({...})

   output$annotations <- renderDataTable({...})

   output$plot <- renderPlot({...})

}))

我可以将output$textoutput$annotationsoutput$plot放入单独的r档,然后将其导入吗?

我的尝试,

source('source/server/getRenderUI.R', local = TRUE)
output$text <- getRenderUI()

结果,

  

.getReactiveEnvironment()中的错误$ currentContext():操作不是   允许没有活跃的反应上下文。 (你试图做点什么   只能在反应性表达或观察者内部完成。)

1 个答案:

答案 0 :(得分:2)

我认为你不需要致电getRenderUI(),你可以试试这个

In getRenderUI.R

  output$text <- renderUI({...})

In server.R 

  shinyServer(function(input, output, session) {

    source('...../getRenderUI.R', local = TRUE)$value

 }))

对我来说,这很有效。

注意:注意不要对输出$ xxx使用相同的名称,因为所有变量都在同一范围内