Javascript 点击gotoPage方法调用JS函数后如何在livewire中运行?

Javascript 点击gotoPage方法调用JS函数后如何在livewire中运行?,javascript,laravel-livewire,Javascript,Laravel Livewire,在带有LiveWire1.3的Laravel7中,我有一个带有分页和惰性图像的列表 通过调用JS函数lazyImagesInit(使用lazyload 2.0.0-rc.2)应用于任何项目图像 当页面加载时。但当我点击分页链接时,我会失去任何延迟图像效果 新打开的项目图像。 查看cach文件的代码,我发现使用了gotoPage方法: <?php if(is_array($element)): ?> <?php $__currentLoopData = $element;

在带有LiveWire1.3的Laravel7中,我有一个带有分页和惰性图像的列表 通过调用JS函数lazyImagesInit(使用lazyload 2.0.0-rc.2)应用于任何项目图像 当页面加载时。但当我点击分页链接时,我会失去任何延迟图像效果 新打开的项目图像。 查看cach文件的代码,我发现使用了gotoPage方法:

<?php if(is_array($element)): ?>
    <?php $__currentLoopData = $element; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $page => $url): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
        <?php if($page == $paginator->currentPage()): ?>
            <li class="page-item active d-none d-md-block" aria-current="page"><span class="page-link"><?php echo e($page); ?></span></li>
        <?php else: ?>
            <li class="page-item d-none d-md-block"><button type="button" class="page-link" wire:click="gotoPage(<?php echo e($page); ?>)"><?php echo e($page); ?></button></li>
        <?php endif; ?>
    <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
<?php endif; ?>


  • 覆盖组件上的
    goToPage()
    方法-

    public function gotoPage($page)
    {
        $this->page = $page;
    
        $this->emit('goToPage');
    }
    
    现在收听JavaScript中的
    goToPage
    事件,并调用
    lazymagesinit
    函数-

    <script>
    window.livewire.on('goToPage', () => {
        lazyImagesInit();
    });
    </script> 
    
    
    window.livewire.on('goToPage',()=>{
    懒洋洋的;
    });
    
    谢谢!。这有帮助!是否有其他方法可以用这种方式覆盖组件?你能提供一个链接吗?很高兴听到!如果对您有帮助,请将我的答案标记为正确:)如果您查看了组件类和您在组件中使用的其他特性,那么您可以探索所有可以覆盖的方法-