如何在自定义 Nova 工具中使用 Laravel Nova 组件

How to use a Laravel Nova Component in a Custom Nova Tool

我想使用与 Laravel Nova 在加载组件时使用的相同的加载程序。我无法编译它。它永远不会识别从何处加载 LoadingCard 组件。任何帮助将不胜感激。

<template>
    <div>
        <heading class="mb-6">Tax Calculator</heading>

        <loading-card :loading="loading" class="card relative overflow-hidden w-1/3">
            <div v-if="countries.length">
                <!--Make form-->
            </div>
        </loading-card>
    </div>
</template>

<script>
    import LoadingCard from 'laravel-nova'
    export default {
        mounted() {
            let vue = this;
            Nova.request().get('/nova-vendor/tax-calculator/mount')
                .then(response => {
                    vue.countries = response.data.countries;
                    vue.states = response.data.states;
                });
        },
    }
</script>

<style>
    /* Scoped Styles */
</style>

想通了。显然,所有 Nova 内置组件都在全球范围内可用。没有意识到这一点。要让它编译,我需要做的就是删除 import 语句。我修改了代码如下:

<template>
    <div>
        <heading class="mb-6">Tax Calculator</heading>

        <loading-card :loading="loading" class="card relative overflow-hidden w-1/3">
            <!--Make form-->
        </loading-card>
    </div>
</template>

<script>
    export default {
        mounted() {
            let vue = this;
            Nova.request().get('/nova-vendor/tax-calculator/mount')
                .then(response => {
                    vue.countries = response.data.countries;
                    vue.states = response.data.states;
                });
        },
    }
</script>

<style>
    /* Scoped Styles */
</style>

对于那些寻找所有全局 laravel nova vue 组件列表的人,您可以在这里找到:

nova/resources/js/components.js