我开始为我的UI和服务器使用闪亮的模块。我对dygraph图例的显示有一个特定的问题。
在使用闪亮模块之前,我可以在我的UI中显示图形和图例。我使用模块后停止工作。可能是dygraph的传说不是反应性输出吗?
没有闪亮的声音(有效)
...
tabPanel("Plot",dygraphOutput("plot1"),
textOutput("legendDivID"))
...
dygraph服务器代码:
output$plot1 <- renderDygraph({
dygraph(dfplot())%>%
dyLegend(labelsDiv = "legendDivID", labelsSeparateLines = T)%>%
dyRangeSelector()
})
现在我构建了闪亮的模块
StockUI<-function(id, label= "aaa"){
ns <- NS(id)#Named space
...
tabPanel("Plot",dygraphOutput(ns("plot1")),
textOutput(ns("legendDivID"))}
Stock <- function(input,output,session){
...
output$plot1 <- renderDygraph({dygraph(foo())%>%
dyLegend(labelsDiv = "legendDivID", labelsSeparateLines = T)%>%
dyRangeSelector()
})
}
但是Legend不再显示,它在闪亮的模块之外工作正常。
答案 0 :(得分:0)
用户界面中的legendDivId
包含在ns
内,因此它也应该包含在服务器中的ns
内。服务器中的ns
可以通过server$ns
进行评估。这应该有效:
output$plot1 <- renderDygraph({dygraph(foo())%>%
dyLegend(labelsDiv = session$ns("legendDivID"), labelsSeparateLines = T)%>%
dyRangeSelector()
})