Ich würde gerne wissen, wie man reaktive Funktionen in einem Modul auf ein anderes Modul zugreifen kann. Wenn ich in einem Modul mehr als eine reaktive Funktion habe, kann ich dann in einem anderen Modul auf sie zugreifen?wie man ein glänzendes Modul in einem anderen glänzenden Modul nennt (reaktive Funktion von einem Modul zum anderen)
Also im Grunde wie würde ich rufen/pass eine reaktive Funktion in einem glänzenden Modul zu einem anderen glänzenden Modul (reaktive Funktion von einem Modul zum anderen) Dank
module1Ui <- function(id) {
ns <- NS(id)
wellPanel(
selectInput(
ns('cars'), "cars:", list("Select" = "", "a" = "mazda", "b" = "ford"))
) }
module1<-function(input, output, session){
dataone = reactive({
if(input$cars=="mazda"){ mtcars$mpg}
else(mtcars$hp)
})
}
module2<-function(input, output, session){
dataone()
#here I want dataone from the above module1
# I tried to use callmodule(module1,_) but then didnt understand what the id would be in this case?
}
library(shiny)
ui <- fluidPage( sliderInput("slider","how much cars?", 1, 10, 1, width = "100%"),
uiOutput("selectors"),
verbatimTextOutput("datap")
)
server <- function(input, output, session){
for(i in 1:10)
callModule(module1, i)
output$selectors <- renderUI({
lapply(1:input$slider, module1Ui)
})
#below code just to test if I was able to correctly get dataone() #from module2
output$datap<-renderPrint(
lapply(1:input$slider, function(i){ datas<-callModule(module2,i)
datas()})
)
}
shinyApp(ui, server)
Dank
Danke für die Antwort, aber ich kann immer noch nicht Gebrauch DataOne() in module2. Angenommen, ich möchte in modul2 eine Berechnung mit dataone() durchführen. z.B. abc <-dataone() $ var1 – shamary
Sie müssen es in einem reaktiven Kontext verwenden. Mein Code wurde aktualisiert. – shosaco