使用 Typescript 访问 Vue3 中的商店
Accessing store in Vue3 using Typescript
我正在使用 TypeScript 构建一个 Vue3 应用程序,使用 Vuex 来存储某些数据。但是,我无法访问我的主要 App.vue 或其他一般组件的脚本标记中的 $store
。
我的 vuex 商店看起来有点像:
export default createStore({
state: {
members: [
{ id: 1, name: "Alice", role: "admin", email: "abc@example.com" }
] as Member[],
size: 5
},
mutations: {
addMember(state, member: Member): void {
state.members.push(member);
}
},
getters: {
membersList(state) {
return state.members;
},
}
})
我的 App.vue 文件的脚本标签:
<script lang="ts">
import { defineComponent } from "vue";
//import MemberCard from "./components/MemberCard.vue";
export default defineComponent({
name: "App",
components: {
// MemberCard
},
data() {
return {
};
},
computed:{
func(){
return this.$store.getters.membersList;
}
}
});
</script>
我仍在学习 Vue3 和 TypeScript 的基本知识。提前致谢!
Vuex 文件
export default createStore({
state: {
members: [
{ id: 1, name: "Alice", role: "admin", email: "abc@example.com" }
]
},
getters: {
getMembers: ({ members }) => members,
},
})
模板文件
<script lang="ts">
import { useStore } from "vuex";
import { onMounted } from "vue";
export default {
setup(){
const store = useStore();
onMounted(() => {
console.log(store.getters.members);
});
},
};
</script>
请检查这些代码,希望它能起作用。我也补充了,请查看vue3官方网站以获得更好的参考。
我正在使用 TypeScript 构建一个 Vue3 应用程序,使用 Vuex 来存储某些数据。但是,我无法访问我的主要 App.vue 或其他一般组件的脚本标记中的 $store
。
我的 vuex 商店看起来有点像:
export default createStore({
state: {
members: [
{ id: 1, name: "Alice", role: "admin", email: "abc@example.com" }
] as Member[],
size: 5
},
mutations: {
addMember(state, member: Member): void {
state.members.push(member);
}
},
getters: {
membersList(state) {
return state.members;
},
}
})
我的 App.vue 文件的脚本标签:
<script lang="ts">
import { defineComponent } from "vue";
//import MemberCard from "./components/MemberCard.vue";
export default defineComponent({
name: "App",
components: {
// MemberCard
},
data() {
return {
};
},
computed:{
func(){
return this.$store.getters.membersList;
}
}
});
</script>
我仍在学习 Vue3 和 TypeScript 的基本知识。提前致谢!
Vuex 文件
export default createStore({
state: {
members: [
{ id: 1, name: "Alice", role: "admin", email: "abc@example.com" }
]
},
getters: {
getMembers: ({ members }) => members,
},
})
模板文件
<script lang="ts">
import { useStore } from "vuex";
import { onMounted } from "vue";
export default {
setup(){
const store = useStore();
onMounted(() => {
console.log(store.getters.members);
});
},
};
</script>
请检查这些代码,希望它能起作用。我也补充了,请查看vue3官方网站以获得更好的参考。