特定のテンプレート(actions.tt)で使用するparamsを返すpostルートがあります。そのテンプレート内で、DirectoryViewプラグインを使用してディレクトリのビュー(dirmain.tt)をdivにロードします(jQueryを使用)。私の問題は、メインテンプレート(action.tt)をレンダリングする前に、DirectoryViewテンプレートにパラメータを渡す必要があることです.param(dev)をDirectoryリストに含める必要があります。Dancer、Dancer :: Plugin :: DirectoryView、テンプレートツールキット、テンプレート内の共有パラメータ
Perlの部分:
Use Dancer;
....
post "/" => sub {
template 'actions.tt', {
'dev' => param('dev'),
};
テンプレート:ある種のフックを使用して
actions.tt
....
<div id="dir">
<script type="text/javascript">
$('#dir').load('/files/[% dev %]');
</script>
</div>
....
dirmain.tt
....
how do I pass [% dev %] here before the action.tt is rendered by the browser?
....
でしょうが、これを満たしますか? あなたのご協力が大変ありがとうございます。ありがとう!
「レンダリング済み」?ブラウザで?あるいは 'actions.tt'がPerlでコンパイルされる前に(あまり意味がないでしょう)?とにかく、私はダンサーを知らないのですが、あなたのテンプレートの 'session-> uri()'にアクセスしたいと思っています(何とかアクセスするための設定)。何らかの理由でうまく動作しない場合は、 load( '/ files/[%dev%]?x = [%dev%]') 'を要求し、' param "x" 'を使用するときに' dev 'ちょっとしたランダムな考え。 – Qtax
@ Qtax私は混乱する部分を編集しました。私はヒントを感謝し、私はDirectoryViewモジュールに必要なものを定義しました。ありがとう! – vpaterno