Laravel Black模板中局部模块单独分离出blade文件实现ajax局部更新示例
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(数据));
}
有兴趣的可以一试
相关文章