R:模块和observeEvent与id映射不匹配
我在观察方面有问题。html代码中的id映射是id1映射。他不喜欢-。 我也测试了地图,但它不工作。 怎么办 在ui.R中R:模块和observeEvent与id映射不匹配,r,shiny,module,R,Shiny,Module,我在观察方面有问题。html代码中的id映射是id1映射。他不喜欢-。 我也测试了地图,但它不工作。 怎么办 在ui.R中 fluidPage( module_gisUI(id="id1") ) 在模块UI中 ##### Function for module UI* moduleUI <- function(id) { ns <- NS(id) # Sidebar with a ui for grabbing mapedit da
fluidPage(
module_gisUI(id="id1")
)
在模块UI中
##### Function for module UI*
moduleUI <- function(id) {
ns <- NS(id)
# Sidebar with a ui for grabbing mapedit data
sidebarLayout(
sidebarPanel(
actionButton(ns('save'), 'Save'),
br(),br(),
actionButton(ns("rnorm"), "Load"),
plotOutput(ns("plot1")))
,
# add map: module mapedit
mainPanel(
editModUI(ns("map"))
)
)
}
模块UI的函数*
moduleUI没有一个完整的最小可复制的示例(这里是:运行闪亮的应用程序),这有点难说。几句话:一,。如果使用带有禁止字符的变量名,则需要将其换行:
input$`id1-map-map\u marker\u单击
2。在服务器中,您通常不需要为调用模块的id加前缀,因此只需尝试``input$`map-map\U marker\`单击``````(抱歉,markdown不是我想要的,请在$in backticks后包装该部分)。谢谢,删除id并使用backticks即可!
##### Function for module server logic
module_gis <- function(input, output, session) {
#map
map<-leaflet() %>%
addTiles()
#module mapedit*
edits <- callModule(
editMod,
leafmap = map,
id = "map"
)
#load
observeEvent(input$rnorm, {
leafletProxy("map-map",data=datapoints)%>%
addMarkers(~LongSEC, ~LatSEC)
})
#observeEvent(input$id1-map-map_marker_click, {
# good solution
observeEvent(input$`map-map_marker_click`, {
p <- input$`map-map_marker_click`
print(p)
})
}