我成功实现了Shiny的绑定功能,但是该函数在ui.R中定义,并且来自server.R的任何调用都会导致函数找不到错误。
我正在将session
传递给server.R(不确定这是否有所不同)并且我还创建了一个global.R,其中只包含该函数(不确定我是否需要除此之外的任何内容,因为甚至不让我在ui.R中调用函数。
如何从server.R调用自定义闪亮输入函数(特别是在renderUI
中)?
此处的示例代码:(对sortList
的调用可以从ui.R正常工作,但不适用于server.R)
https://gist.github.com/jpd527/9687359
答案 0 :(得分:2)
这是一个修补过的要点:https://gist.github.com/trestletech/9691459
这里有两个主要changes:
sortListInput
功能移至global.R
。你提到你已经尝试过了,但它可以游戏地将功能公开给server
和UI
。sortListInput
。您$( ".sortableList" ).sortable(); $( ".sortableList" ).disableSelection();
中的单身<script>
中有<head>
,但只有在创建页面时才会运行一次。因此,以后创建的动态创建的sortableLists
永远不会被初始化。所以我在<script>
添加了sortListInput
块,每次生成新代码时都会运行该代码。我现在还没有意识到更清洁的方法,但也许会存在/将会存在...... 需要注意以下几点:
sortListInputs
,因此您需要确保该初始化代码是幂等的 - 即您不会破坏现有的代码你运行那段代码。