Yii2嵌套pjax

Dje*_*eux 7 pjax yii2

我有带标签的页面(实际上是由父pjax处理的链接).它通过pjax调用加载选项卡内容.

在其中一个选项卡中,我有一个位于pjax容器内的gridview.所以这使它成为嵌套的.问题是嵌套的一个在加载并插入页面时,不包含它自己的javascript,即:

jQuery(document).pjax("#history-gridview a", "#history-pjax", {"push":true,"replace":false,"timeout":5000,"scrollTo":false});
Run Code Online (Sandbox Code Playgroud)

fri*_*108 1

renderAjax()请求标签页(或内容)时需要调用。我做了这样的事情:

if (Yii::$app->request->isAjax) return $this->renderAjax('myview');
else return $this->render('myview');
Run Code Online (Sandbox Code Playgroud)

但是,它可能无法解决您的问题。我发现,如果我导航选项卡并且在选项卡中动态加载网格(带有其自己的 pjax 容器),那么与网格排序和过滤器的任何交互都会尝试从外部(pjax 选项卡)容器重新加载,即使skipOuterContainers设置为true

顺便说一句,开发人员正在考虑 按照此处完全放弃 pjax 支持以及资源包的工作方式。


问题仍然是:

如何在没有 Angular2 或类似功能的情况下创建像 SPA(单页应用程序)一样的超快速性能?选项卡容器中的网格容器是一个完美的示例,如果可以实现(满足后退/前进按钮、初始化脚本),那就太棒了。