【发布时间】:2020-02-19 12:59:23
【问题描述】:
如何将 Vuex 商店添加到我自定义生成的 Laravel Nova 工具中?
我在medium 上找到了这篇关于该主题的帖子,但该商店没有出现在 de Tool.vue 组件中。
我在这个项目中使用的是 Nova 1.3.2。
【问题讨论】:
标签: php laravel vuex laravel-nova
如何将 Vuex 商店添加到我自定义生成的 Laravel Nova 工具中?
我在medium 上找到了这篇关于该主题的帖子,但该商店没有出现在 de Tool.vue 组件中。
我在这个项目中使用的是 Nova 1.3.2。
【问题讨论】:
标签: php laravel vuex laravel-nova
我发现 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 将所有资源添加到同一个存储中,因此您必须使用命名空间存储来防止冲突。
我希望这会为您节省一些时间。
【讨论】: