如何将 Vuex 添加到我的 Laravel Nova 工具中?

Posted

技术标签:

【中文标题】如何将 Vuex 添加到我的 Laravel Nova 工具中?【英文标题】:How do I add Vuex to my Laravel Nova Tool? 【发布时间】:2020-02-19 12:59:23 【问题描述】:

如何将 Vuex 商店添加到我自定义生成的 Laravel Nova 工具中?

我在medium 上找到了这篇关于该主题的帖子,但该商店没有出现在 de Tool.vue 组件中。

我在这个项目中使用的是 Nova 1.3.2。

【问题讨论】:

【参考方案1】:

我发现 Nova 已经在使用 Vuex,您可以将自己的 Vuex 商店模块添加到现有商店中。

这在文档中没有涉及,所以我不知道这是否会在新版本中继续工作,但它似乎在 Nova 1.3 中起到了作用。

您可以像这样将 Vuex 模块注册到您的 nova-components/MyTool/resources/js/tool.js:

import datastore from './store/datastore'


Nova.booting((Vue, router, store) => 
    store.registerModule(
        'mynamespace/datastore', datastore
    );

    // router.addRoutes( ......


);

你可以像这样在你的 Tool.vue 中使用它:

<template>
    <div>
       testing 
    </div>
</template>

<script>
    import mapGetters from 'vuex'
    export default 
        mounted() 
        ,
        computed: 
            ...mapGetters(
                testing: 'mynamespace/datastore/testing'
            )
        
    
<script>

Nova 将所有资源添加到同一个存储中,因此您必须使用命名空间存储来防止冲突。

我希望这会为您节省一些时间。

【讨论】:

以上是关于如何将 Vuex 添加到我的 Laravel Nova 工具中?的主要内容,如果未能解决你的问题,请参考以下文章

需要 ext-fileinfo。如何将其添加到我的 composer.json 文件中?

需要ext-fileinfo。如何将其添加到我的composer.json文件中? http://pecl.php.net/get/Fileinfo-1.0.4.tgz

如何将谷歌地图位置添加到我的网站

使用 composer 将非 laravel 包添加到我的 Laravel 项目中

如何将我的 App.vue 页面添加到 Vuex 商店?

如何在Laravel应用程序中将登录行为从/ login URL移动到我的主页?