如何从 pinia 商店调用操作?
2022-04-27
18395
如何在 vue 3 组件中从 pinia 商店调用操作? 我使用 Composition API。 例如,我想导入“openLessonCard” - 它是 pinia 商店中的操作。 但这种导入方法不起作用。.
<script setup>
import { openLessonCard } from '../../stores/lessonsN.js';
import { ref, computed } from 'vue'
defineProps({
data: {
type: Object,
required: true,
},
nocollapse: {
type: Boolean,
},
});
const reviewLevel = computed(() => {
return Object.values(this.data.criteria).filter((i) => i === true).length;
})
async function editReviews(id, text, a, b, c, d, e) {
let review = await this.$api.call("reviews.edit", {
id,
text,
a,
b,
c,
d,
e,
});
this.$Message("ok");
}
2个回答
您需要创建一个商店实例并调用操作
const store = useLessonsNStore()
store.openLessonCard()
duynhanf
2022-05-10
请记住,“操作相当于组件中的方法”(Pinia 文档)。
您在示例代码中使用
<script setup>
。
然后,在您的组件中...
- 正常导入您的商店:
import { useLessonsNStore } from '../../stores/lessonsN';
- 获取您的商店实例:
const lessonsN = useLessonsNStore();
- 像方法一样调用操作
lessonsN.openLessonCard();
更多信息: 在此处输入链接描述
pedrozopayares
2022-07-10