我尝试按照链接重建我的应用程序。我有一个多仪表板,我希望将每个主题放在单独的 UI 和服务器文件中,以便更好地控制代码。
主文件(应用程序。R(正在使用source(file.path("ui", "tab1.R"), local = TRUE)$value
与其他文件联系,例如UI。选项卡 1.R 看起来像:
tabPanel("Tab 1", uiOutput("content1"))
(content1 位于服务器文件中(。
我希望有可能在一个文件中将更多内容放在tabPanel上。我以为我可以做这样的事情:选项卡 1.R 看起来像:
aaa <- tabPanel("Tab 2", uiOutput("content2"))
bbb <- tabPanel("Tab 1", uiOutput("content1"))
然后使用以下方法与他们联系:
source(file.path("ui", "tab1.R"), local = TRUE)$aaa
source(file.path("ui", "tab1.R"), local = TRUE)$bbb
但是我得到错误:
Error in attr(x, "selected") <- TRUE : attempt to set an attribute on NULL
我在任何地方都找不到答案,所以我不敢写在这里寻求帮助
我发现 imo 是最好的方法,我只是使用了以下函数:
aaa <- function(){tabPanel("Tab 2", uiOutput("content2"))}
bbb <- function(){tabPanel("Tab 1", uiOutput("content1"))}
然后在文件顶部,我上传源代码:
source(file.path("ui", "tab1.R"), local = TRUE)
现在我通常可以在代码中使用函数:
aaa()
bbb()