yii2 nirvana infinitescroll pager无法正常工作

时间:2015-12-11 08:53:45

标签: php jquery yii2 infinite-scroll

我使用的是yii 2.0。我使用数据提供程序显示了列表。为此我整合了无限滚动分页。

以下是我的代码:

echo yii\widgets\ListView::widget([
 'id' => 'my-listview-id',
 'dataProvider' => $listDataProvider,
 'itemView' =>'_item_view',
 'pager' => [
    'class' => nirvana\infinitescroll\InfiniteScrollPager::className(),
    'widgetId' => 'my-listview-id',
    'itemsCssClass' => 'test',
]

 ]);

这里前10条记录显示正常。然后"加载更多"按钮显示。但没有任何东西加载。无限滚动不起作用。

在查看源代码时,页脚显示以下脚本。

<script type="text/javascript">$('#my-listview-id .test').infinitescroll({"maxPage":5,"contentSelector":"#my-listview-id .test","itemSelector":"#my-listview-id .test >","navSelector":"#my-listview-id ul.pagination","nextSelector":"#my-listview-id ul.pagination li.next a:first","loading":{"img":"/fancytemple_blog/assets/a7b78b36/ajax-loader.gif"}}, ,);</script>

在控制台中,显示的脚本错误为Uncaught SyntaxError: Unexpected token ,

任何人都会帮忙解决这个问题。感谢

2 个答案:

答案 0 :(得分:1)

您的问题是由于默认情况下 import UIKit class MealTableViewCell: UITableViewCell { //MARK: Properties @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var photoImageView: UIImageView! @IBOutlet weak var ratingControl2: RatingControl2! override func awakeFromNib() { super.awakeFromNib() // Initialization code } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) // Configure the view for the selected state } } contentLoadedCallback的错误,您也没有通过配置覆盖它。它已在What format is the Safari History.db history_visits.visit_time in?中修复。只需null,它应该可以正常工作。

答案 1 :(得分:0)

您的代码看起来不错,但我检查了您生成的javascript与我的不同,我认为因为我使用了更多的插件选项。这可能是一种可能的解决方案。

<?=
ListView::widget([
    'id' => 'feed',
    'dataProvider' => $dataProvider,
    'layout' => "{summary}\n<div class=\"items\">{items}</div>\n{pager}",
    'itemView' => '_itemview',
    'summary' => '',
    'emptyText' => $emptyText,
    'pager' =>
    ['class' => \nirvana\infinitescroll\InfiniteScrollPager::className(),
        'widgetId' => 'feed',
        'itemsCssClass' => 'items',
        //'contentLoadedCallback' => 'function(id, data) {$("time.timeago").timeago();}',
        'pluginOptions' => [
            'loading' => [
                'msgText' => "<center><img src='/loading.gif'></center>",
                'img' => "/1x1-pixel.png",
                'finishedMsg' => $emptyText,
            ],
        //'behavior' => \nirvana\infinitescroll\InfiniteScrollPager::BEHAVIOR_TWITTER,
        ],
    ]
]);
?>

如果添加额外选项并不起作用,请尝试确保您正在运行最新版本,并尝试在没有其他任何内容的页面上使用它,以确保没有任何问题。希望这会有所帮助。

另一个想法是确保在数据提供者中设置分页,取出无限滚动并确保分页是正确的,如果它有效,那么你知道它是无限滚动的问题,而不是别的东西。

$dataProvider = new ActiveDataProvider([
  'query' => $query,
  'pagination' => ['pageSize' => '10']]);