闪亮路由器附加路线

时间:2019-08-13 10:36:00

标签: r shiny

我有一个闪亮的应用程序,我已经将它部署在闪亮的服务器上,现在的问题是我遇到了麻烦。

我使用了文档中的quickstart示例,到目前为止该示例运行良好。

用户界面中的

菜单组件

menu <- (
  tags$ul(
    tags$li(a(class = "item", href = route_link("/sample-apps/shiny-router/#!/home"), "Home page")),
    tags$li(a(class = "item", href = route_link("side"), "Side page"))
  )
)

问题在于,在第一个示例ID中,#!会添加到路径的开头

http://localhost:3838/#!/sample-apps/shiny-router/#!/home

期望的输出是

http://localhost:3838/sample-apps/shiny-router/#!/home

当我按下事件按钮时,它运行正常

  observeEvent(input$switch_page, {
    if (is_page("home")) {
      change_page("side")
    } else if (is_page("side")) {
      change_page("home")
    }
  })

有没有一种方法可以通过“路由”菜单来模仿这种行为,所以我只是将路由附加到当前路径上?

我尝试了不同的解决方案,但是似乎,每当单击标签时,它总是将#!前缀添加到url的开头。

1 个答案:

答案 0 :(得分:2)

发生这种情况的原因是因为route_link就像一个哈希路由器,因此解决方案将只是将实际字符串粘贴为路径,而不是使用route_link解决方案

tags$li(a(class = "item", href = route_link("/sample-apps/shiny-router/#!/home"), "Home page"))

#instead use
tags$li(a(class = "item", href = "/sample-apps/shiny-router/#!/home", "Home page"))