分开的server.R和ui.R文件中的模块
是否可以在单独的App.R、server.R和ui.R文件中记录的闪亮应用程序中创建模块 我找到的所有示例都是一个app.R文件,其中嵌入了服务器和ui功能。看见例3 (我从这个测试的最后一个示例中获取了代码) 我尝试运行此应用程序: 应用程序R 用户界面分开的server.R和ui.R文件中的模块,r,module,shiny,R,Module,Shiny,是否可以在单独的App.R、server.R和ui.R文件中记录的闪亮应用程序中创建模块 我找到的所有示例都是一个app.R文件,其中嵌入了服务器和ui功能。看见例3 (我从这个测试的最后一个示例中获取了代码) 我尝试运行此应用程序: 应用程序R 用户界面 #ui.R 图书馆(闪亮) #来源(“hello_world.R”) ui应用程序不知道ui和server对象,除非您在同一文件中定义它们并且它们是在运行时生成的,或者您在shinyApp()之前从外部文件显式调用它们。像下面这样更改你的ap
#ui.R
图书馆(闪亮)
#来源(“hello_world.R”)
ui应用程序不知道ui
和server
对象,除非您在同一文件中定义它们并且它们是在运行时生成的,或者您在shinyApp()之前从外部文件显式调用它们。像下面这样更改你的app.R
,它应该可以工作:
library(shiny)
# load module functions
source("hw.R")
# load ui elements
source("ui.R")
# load server function
source("serv.R")
# Run the application
shinyApp(ui = ui, server = server)
应用程序不知道ui
和server
对象,除非您在同一文件中定义它们,并且它们是在运行时生成的,或者您在shinyApp()之前从外部文件显式调用它们。像下面这样更改你的app.R
,它应该可以工作:
library(shiny)
# load module functions
source("hw.R")
# load ui elements
source("ui.R")
# load server function
source("serv.R")
# Run the application
shinyApp(ui = ui, server = server)
目前有人给了我这个链接之前,它包含了所有我需要的。我根据这个更新了我的答案。目前有人给了我这个链接之前,它包含了所有我需要的。我根据这个更新了我的答案。我更新了答案,所以现在应该是正确的。我更新了答案,所以现在应该是正确的。
#server.R
library(shiny)
source("hello_world.R")
server <- function(input, output, session) {
# Call logic server function of module "hello_world"
callModule(module = hello_world, id = "id_1")
}
# UPDATE! -> my Error comes from this line of code in server.R file:
#shinyApp(ui = ui, server = server)
#Removing the line above solve the problem.
#module 1: hello_world
# Function for module UI
hello_worldUI <- function(id) {
ns <- NS(id)
fluidPage(
fluidRow(
column(2, textInput(ns("TI_username"), label = NULL, placeholder = "your name")),
column(2, actionButton(ns("AB_hello"), label = "Hello !"))
),
hr(),
fluidRow(
column(12, textOutput(ns("TO_Hello_user")))
)
)
}
# Function for module server logic
hello_world <- function(input, output, session) {
# When user clicks on "Hello" button : Update reactive variable "name"
name <- eventReactive(input$AB_hello, {
return(input$TI_username)
})
# Show greetings
output$TO_Hello_user <- renderText({
if (name() %in% "") {
return("Hello world !")
} else {
return(paste("Hello", name(), "!"))
}
})
}
library(shiny)
# load module functions
source("hw.R")
# load ui elements
source("ui.R")
# load server function
source("serv.R")
# Run the application
shinyApp(ui = ui, server = server)