2015-06-27 02:30:51 3198次浏览 2条回答 0 悬赏 100 金钱

请问如何解决 导航链接pjax载入了包含了如下内容的页面时,

<?php Pjax::begin(['id' => 'enum-list']); ?>
<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'id' => 'enum-data-list',
    //
    //
    //
?>
<?php Pjax::end(); ?>

有2个问题,

  1. controller中使用renderPartial 渲染视图,那么渲染结果就不包含js脚本,gridview第一次点击 分页/任何其他链接,都不会使用pjax。当然因为没有js搜索也不会被触发。
  2. controller中使用renderAjax渲染视图,直接报 jQuery(...).yiiGridView is not a function 的js错误。
    在layout/main,中已经注册了jquery的资源,并且加载在页面头部了。不知道是我那里出错了。
    谢谢。

又修改了下, 我自己强制在页面上加载了

yii\grid\GridViewAsset::register($this);

但是使用renderAjax渲染视图,还是在报 jQuery(...).yiiGridView is not a function 的js错误。

  • 回答于 2015-06-29 08:55 举报

    在视图head标签里得有:
    <?php $this->head() ?>

    1 条回复
    回复于 2015-06-29 15:53 回复

    不行。 我已经强制注册了页面所需资源了。 然后我也尝试了你说的。还是不行。。。。 不知道有没有谁有经验。还请指导。

  • 回答于 2017-02-20 15:33 举报

    楼主你好,我也碰到了同样的问题, 不知道您那边处理了么,麻烦请指点下,谢谢了

    3 条回复
    回复于 2017-02-20 15:45 回复

    彻底放弃了yii的前端控制,我现在彻底前后端分离了.

    回复于 2017-02-20 15:48 回复

    ps. 其实如果确定使用yii2的前端,就不要太苛求前端的表现不够现代化或者潮流. yii自身的前端定义在快速实现的前提下的.
    但是我现在也有新的尴尬,不用yii自身的前端了. 还有多少必要使用yii? 当然yii自身还是有很多不错的, 但是python等等一样也有很多优秀的框架, 在说着rest api 用yii2自身实现是不是太重了?

    呃.... 先写吧~ 以后在说.

    回复于 2017-02-20 15:57 回复

    哦 谢谢您的回复 那这个问题暂时是没办法处理吧 ,我是后台用的grid组件。

您需要登录后才可以回答。登录 | 立即注册
xjdata
CEO

xjdata

注册时间:2011-12-07
最后登录:2021-07-09
在线时长:112小时28分
  • 粉丝23
  • 金钱14169
  • 威望75
  • 积分16039

热门问题