2

Shiny のバインド機能を正常に実装しましたが、関数は ui.R で定義されており、この新しい入力の server.R からの呼び出しにより、関数が見つからないというエラーが発生します。

私はsessionserver.Rに渡しています(それが違いを生むかどうかはわかりません)そして、関数を単純に含むglobal.Rも作成しました(それ以上のものが必要かどうかはわかりません。 ui.R の関数)。

server.R から (特に a で) カスタムの光沢のある入力関数を呼び出すにはどうすればよいrenderUIですか?

ここにコード例: (への呼び出しsortListは ui.R からは正常に機能しますが、server.R からは機能しません) https://gist.github.com/jpd527/9687359

4

1 に答える 1

2

パッチを適用した要点は次のとおりです: https://gist.github.com/trestletech/9691459

ここには 2 つの大きな変更点があります。

  1. sortListInputに機能を移動しましたglobal.R。あなたはそれを試したと言いましたが、関数を と の両方に公開するのはうまくいきましserverUI
  2. 次の問題は、sortListInputページ作成時の初期化のみを行っていたことです。$( ".sortableList" ).sortable(); $( ".sortableList" ).disableSelection();にシングルトンがありましたが<script><head>それはページの作成時に一度だけ実行されます。sortableListsそのため、後で作成される動的に作成されたものは決して初期化されません。そのため、新しいコードを生成するたびにそのコードを実行する<script>チャンクを追加しました。sortListInput私は今これを行うためのよりクリーンな方法を知りませんが、おそらく存在する/存在するでしょう...

注意すべき点がいくつかあります。

  • sortListInputs動的に作成されるたびにすべて初期化しているので、初期化コードがべき等であることを確認する必要があります。つまり、そのコードを実行するときに既存のコードを壊すことはありません。
  • 独自のバージョンの jQuery とその他の jQuery ライブラリをロードしていることに気付きました。Shiny には依存している jQuery のバージョンもあるので注意してください。競合がないことを確認する必要があります。
于 2014-03-21T17:49:03.340 に答える