【发布时间】:2017-10-25 01:54:18
【问题描述】:
我有一个小的 Vuex 商店(如下所示),我使用 vuex-router-sync 来保持同步。这会在我的商店中添加一个 router 模块,但是我如何将这个对象从商店中取出,因为该模块似乎没有任何关联的 getter?
存储/index.js
import Vue from 'vue'
import Vuex from 'vuex'
import module1 from './modules/module1'
import module2 from './modules/module2'
import module3 from './modules/module3'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
module1,
module2,
module3
}
})
main.js
import App from './views/App/App'
import store from './store'
import router from './router'
import { sync } from 'vuex-router-sync'
// sync router with store
sync(store, router)
new Vue({
el: '#app',
store,
router,
render: h => h(App)
})
我的状态应该是这样的:
{
module1: {
cheese: true
},
module2: {
crackers: true
},
module3: {
wine: true
},
route: {
from: {}
fullPath:"/path/to/cheese"
hash:""
meta: {}
name:"cheese"
params: {}
path:"/path/to/cheese"
query: {}
}
}
基本上我要做的是在我的应用标题中添加一个标题,该标题会根据您所在的页面/视图进行更新。
Header.vue
export default {
name: 'header',
computed: {
getRouteTitle () => {
return this.$store.getters.getRouteTitle
}
}
}
Header.html
<header>
<h1>{{ getRouteTitle }}</h1>
</header>
【问题讨论】:
标签: javascript vue.js vuejs2 vuex