Rub*_*ati 7 inertiajs laravel vue.js vuejs3
我正在尝试构建一个应用程序作为Laravel 8.38 - InertiaJS 0.8.4我Vue 3的前端堆栈。
我有多个布局,需要将其全局注册为Vue组件,以便我可以在应用程序中的任何地方使用它。我无法这样做,我的代码:
import { createApp, h } from 'vue';
import { App as InertiaApp, plugin as InertiaPlugin } from '@inertiajs/inertia-vue3';
const el = document.getElementById('app');
const app = createApp({
render: () =>
h(InertiaApp, {
initialPage: JSON.parse(el.dataset.page),
resolveComponent: (name) => require(`./../Pages/${name}`).default,
}),
})
.mixin({ methods: { route } })
.use(InertiaPlugin);
app.component('app-market', () => import('./../layouts/AppMarketLayout')); //trying to import layout
app.mount(el);
Run Code Online (Sandbox Code Playgroud)
在页面内部,我尝试调用此布局组件:
<template>
<div>
<app-market-layout></app-market-layout>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
无法获取,控制台中没有错误。
我有后端(管理面板)和前端(网站)的 2 种布局,实现如下。使用惯性默认中间件文件。
项目/应用程序/Http/Middleware/HandleInertiaRequests.php
class HandleInertiaRequests extends Middleware
{
protected $rootView = 'app';
public function rootView(Request $request)
{
if ($request->segment(1) == 'admin') {
return 'admin';
}
return parent::rootView($request);
}
public function version(Request $request)
{
return parent::version($request);
}
public function share(Request $request)
{
return array_merge(parent::share($request), [
//
]);
}
}
Run Code Online (Sandbox Code Playgroud)
项目/资源/js/Shared/Frontend/Layouts/Layout.vue
<template>
<Header />
<slot />
<Footer />
</template>
<script>
import Header from '../Partials/Header'
import Footer from '../Partials/Footer'
export default {
components: {
Header,
Footer
},
name: "FrontendLayout"
}
</script>
Run Code Online (Sandbox Code Playgroud)
项目/资源/js/Pages/Frontend/Auth/Login.vue
<template>
...
</template>
<script>
import Layout from '@/js/Shared/Frontend/Layouts/Layout';
export default {
layout: Layout,
metaInfo: { title: 'Login' },
data() {
return {
form: this.$inertia.form({
'email': '',
'password': '',
'remember': false
})
}
},
methods: {
submit() {
this.form.post(route('login.store'))
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6658 次 |
| 最近记录: |