gpt4 book ai didi

laravel - 使用 Vue 3 在 InertiaJS 中定义全局组件

转载 作者:行者123 更新时间:2023-12-04 13:52:51 32 4
gpt4 key购买 nike

我正在尝试在 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);
在页面内,我试图调用这个布局组件:
<template>
<div>
<app-market-layout></app-market-layout>
</div>
</template>
无法获取,控制台中没有错误。

最佳答案

我有后端(管理面板)和前端(网站)的 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), [
//
]);
}
}
项目/资源/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>
项目/资源/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>

关于laravel - 使用 Vue 3 在 InertiaJS 中定义全局组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67544184/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com