Я пытался сделать связь между модулями в блестящем. У моего приложения есть пустой фрейм данных слов в главном модуле, и я хочу добавить слова в этот фрейм данных из другого модуля, но я получаю эту ошибку: оценка вложена слишком глубоко: бесконечная рекурсия / опции (выражения =)?
library(shiny)
library(DT)
base_palabras <- reactive({data.frame('Palabra' = character(), stringsAsFactors = FALSE)})
ui_ppal <- function(id){
ns <- NS(id)
tagList(
column(6, ui_agregar(ns('agregar'))),
column(6,wellPanel(
h3('Palabras agregadas'),
DT::dataTableOutput(outputId = ns('OT_Tabla'))
))
)
}
server_ppal <- function(input, output, session, base){
ns <- session$ns
base <- callModule(server_agregar, "agregar", base)
output$OT_Tabla <- DT::renderDataTable({
DT::datatable(base(), options = list(dom = 't'))
})
}
ui_agregar <- function(id){
ns <- NS(id)
tagList(wellPanel(
textInput(inputId = ns('TC_Nueva'), label = 'Nueva Palabra'),
actionButton(inputId = ns('TC_Agregar'), label = 'Agregar')
))
}
server_agregar <- function(input, output, session, base_t){
ns <- session$ns
agregar <- eventReactive(input$TC_Agregar, {
datos <- rbind(base_t(), data.frame('Palabra' = input$TC_Nueva, stringsAsFactors = FALSE))
return(datos)
})
return(agregar)
}
ui <- fluidPage(
ui_ppal("principal")
)
server <- function(input, output, session) {
callModule(server_ppal, "principal", base_palabras)
}
shinyApp(ui, server)