让 Laravel-admin 可以直接使用 Vue 组件的方案探索
本篇是提交给作者的issue,搬过来给大家提供一个思路。
- Laravel Version: 5.7.*
- PHP Version: 7.2
- Laravel-admin: 1.5.7
Description:
Laravel-admin与Vue自由结合的初步方案
Steps To Reproduce:
1,移除package.json中bootstrap及jquery组件(本身重复了,排除冲突)
2,移除resource/js/bootstrap.js中bootstrap及jquery相关代码
3,修改vendor/encore/laravel-admin/resources/views/index.blade.php中content外包裹一层div,如下:
<div id="app">
@yield('content')
</div>
4, npm install安装组件
5,在app/Admin/bootstrap.php文件里引入app.js及app.css文件
Encore\Admin\Admin::js('/js/app.js');
Encore\Admin\Admin::css('/css/app.css');
6,写好组件,直接在控制器里调用就可以了:
return $content
->header('Title')
->description('description')
->row(function(Row $row) {
$row->column(4, '<example-component></example-component>');
});
总结:这个Issue是希望作者能直接在index.blade.php中加入<div id="app"></div>
标签,即不影响本身组件的使用,又可以支持Vue的组件接入,提高项目的灵活性和可扩展性。
本作品采用《CC 协议》,转载必须注明作者和本文链接
已获作者采纳
本帖由系统于 6年前 自动加精
页面跳转组件不会自动加载,刷新就会加载这个怎么解决啊?
@JINJIALEI 由于laravel-admin的局部刷新机制,会导致跳转之后,vue无法初始化,你把assets/js/app.js下初始化的代码,
放到控制器里,每次加载都自动初始就可以了,例子如下:
@DianWang 请问表单里面如何使用vue
你这步骤中的1和2是怎么个移除法?