0

apostrophe-templates モジュールのこのでは、jquery get 呼び出しが を設定しreq.xhr、その結果としてrefreshLayout.htmlテンプレートが使用されることを示しています。これは、ページ全体を取得しないことを意味します。

しかし、これは制限があるようで、それをオーバーライドする方法が必要です。なぜなら、実際にページ全体をアニメーション目的や jquery を使用したクロール目的で使用したい場合はどうなるでしょうか?

4

1 に答える 1

1

ご存じのように、私は P'unk Avenue で Apostrophe の主任開発者を務めています。

AJAX の動作を変更するのは簡単です。pageBeforeSend任意のモジュールでハンドラを使用して にプロパティを設定し、それを の引数として使用しreq.dataます。refreshLayout.htmlextend

// in any module
self.pageBeforeSend = function(req) {
  req.data.ajaxLayout = 'modulename:layoutname.html';
};

// in your refreshLayout.html
{% extend data.ajaxLayout %}

これは、ページ テンプレートまたは内部レイアウトが外部レイアウトまたは ajax レイアウトのいずれかを拡張できるようにするのと同じ手法です。

于 2016-12-17T22:31:52.613 に答える