如何调用Pinia商店的动作?
如何在VUE 3组件中从Pinia商店调用动作? 我使用构图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");
}
How I can call action from pinia store in vue 3 component?
I use composition API.
For example, I would like to import 'openLessonCard' - it is action in pinia store.
But this method for import don't work..
<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");
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要创建一个商店实例并调用操作
You need to create a store instance and call actions
请记住,“动作相当于组件中的方法”(Pinia文档)。
您在示例代码中使用
&lt; script设置&gt;
。然后,在您的组件中...
更多信息:在此处输入链接描述
Remember, "Actions are the equivalent of methods in components" (Pinia documentation).
You are using
<script setup>
in your example code.Then, in your component...
More info: enter link description here