1

私の grails アプリでは、すべての依存関係を配線する素晴らしいリソース プラグインを使用しています。私が ajax 呼び出しを行っているときは、すべてのスクリプトとその他の依存関係プロパティ<r:layoutResources disposition="defer"/>をレンダリングするために常に使用しています。<r:script>...

問題は<r:require module="myModule"/>、モジュールが以前にロードされていない JS ファイルを指定している場合 (ページがロードされていない場合) です。AJAX 呼び出しの後、JS ファイルが読み込まれません。これは、ページがレンダリングされるときにすべての JS ファイルが読み込まれる必要があるためです。

私の質問は、それを適切に解決する方法ですか?最初のリクエストでレンダリングされる gsp に r:require を配置する必要がありますか? それとも、AJAX のときに r:require が「外部」JS ファイルを扱うようにする計画はありますか?

ありがとう、マテオ

4

1 に答える 1

1

レイアウト ajaxInternal.gsp を作成し、次のように配置します。

<r:require module="gaScript" />
<r:layoutResources />
<g:layoutBody />
<r:layoutResources disposition="defer" />

そして、コントローラーのajaxアクションでこれをレンダリングします:

render(template:"aTemplateIfRequired", model:[yourModel],layout:'ajaxInternalContentBox')

したがって、すべての js が適切に機能し、すべてのモジュールも適切に機能します。

于 2014-03-13T11:23:49.323 に答える