我正在构建一个多页的闪亮应用程序-也就是说,该应用程序由几个(独立)主页面组成,这些主页面带有向前和向后(有时)向后的按钮。 据我所知-与the general two possibilities to build a shiny app一致-有两种主要方法
ui.R
)中构建页面,然后相应地隐藏和显示每个页面。 @daattali in this demonstration app使用的方法是shinyjs
隐藏和显示每个页面。我想如果可以隐藏导航栏或其他导航列表,也可以使用do this by using navbar()
, navlist()
or tabsetPanel()
的方法。这具有updating pages simply via updateTabsetPanel()
, updateNavbarPage()
or updateNavlistPabel()
的优势,使shinyjs
不需要。 renderUI()
在服务器端构建页面并将ui.R
限制为存根。这是for example by TomW遵循的方法,将ui限制为renderUI()
和doing everything else server side;以及this discussion 所以我的问题是:
每种方法的优点和缺点分别是什么?在哪些情况下应该或不应该使用每种方法?
我将提供我目前所知道的答案,但会很高兴进行更正和补充。
答案 0 :(得分:0)
优势
缺点
优势
缺点
所以我会说: 如果只有几个页面,则您事先知道顺序,或者希望用户在页面之间来回切换,在用户端进行构建。如果页面数量巨大,请仅调用一次页面,或者需要包含动态输入,请在服务器端进行构建。