Home > Mobile >  moduleServer does not have the ... to add additional parameters to the module function like callModu
moduleServer does not have the ... to add additional parameters to the module function like callModu

Time:10-13

According to documentation:

Note: As of Shiny 1.5.0, we recommend using moduleServer() instead of callModule(), because the syntax is a little easier to understand, and modules created with moduleServer can be tested with testServer().

But here is the docs for callModule:

Usage

callModule(module, id, ..., session = getDefaultReactiveDomain())

Arguments

  • module A Shiny module server function
  • id An ID string that corresponds with the ID used to call the module's UI function
  • ... Additional parameters to pass to module server function
  • session Session from which to make a child scope (the default should almost always be used)

And here is the docs for moduleServer:

Usage

moduleServer(id, module, session = getDefaultReactiveDomain())

Arguments

  • id An ID string that corresponds with the ID used to call the module's UI function.
  • module A Shiny module server function.
  • session Session from which to make a child scope (the default should almost always be used).

How do I add additional parameters to the server function without the ...?

CodePudding user response:

moduleServer will live inside the server-side portion of the module you create. It contains only the id and the module itself. The employeeInfoServer passes id as well as employee_. This could pass any number of additional arguments such as function(id, employee_, hair_color, eye_color, city) etc... Those variable are then accessible in the moduleServer

employeeInfoServer <- function(id, employee_) {
  moduleServer(
    id,
    function(input, output, session) {
      output$job_title<- renderUI({
        h3(users[match(employee_, users$Name), "Job Title"]) 
      })
    }
  )
}

...maybe this makes more sense. yourmoduleServer is the server-side of the module you're creating.

yourmoduleServer <- function(id, ...) {
  moduleServer(id, module)
}
  • Related