我有一个vuex示例项目:
app.vue:
<template>
<div>{{message}}</div>
</template>
<script>
import store from "./app.store.js";
export default {
computed: { message: () => store.message }
}
</script>
app.store.js:
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
const state = { message: "Hello World" };
const getters = { message: state => state.message };
const store = new Vuex.Store({ state, getters });
export default store;
{{message}}占位符替换为空字符串而不是&#34; Hello World&#34;。如何在vue组件中使用vuex?
答案 0 :(得分:7)
首先,确保在Vue实例中包含商店,如:
new Vue({ el: '#app', store });
此外,在计算属性中,不要直接访问商店(尽管完全没问题),请使用您创建的getter。
现在,当您在Vue实例中注入商店时,它会自动供所有子组件使用 - 这意味着您不需要导入它,而只需在组件中使用它:
computed: { return this.$store.getters.message }
您可以阅读有关here主题的更多信息。