Laravel Black模板中局部模块单独分离出blade文件实现ajax局部更新示例

2023-06-01 00:00:00 示例 模块 局部

laravel项目中从整页视图中把某个模块分离单独blade文件出来实现异步刷新功能实现分享

问题需求:页面有一个类似背包的功能,有个按钮点击就会打开背包,但是更新背包物品每次都要整个页面刷新,因为背包物品参数是直接控制器

return view compact 

将变量传到blade模板的,所以每次获取最新的都要刷新页面,

有什么办法,不用用户主动去刷新整个页面,每次打开都能局部异步刷新背包?


解决思路:

把页面中背包部分的前端代码分离出来单独的blade,发送ajax返回view视图替换。


示例代码:

分离blade视图文件:

index.blade.php
...
//背包
<div id="Fpack">{!!$fieldPack!!}
...
//点击 ajax 返回 view
$('#Fpack').html(response);


控制器调用:

indexController
// 主页面
function index() {
    $fieldPack = view('fieldpack',compact(数据));
    return view('index',['fieldPack'=>$fieldPack])
}

// ajax 局部更新
function fieldPack(){
    return view('fieldpack',compact(数据));
}

有兴趣的可以一试


相关文章