vue.js 无法解决nuxt3和piniaReact性错误

kd3sttzy  于 2023-08-07  发布在  Vue.js
关注(0)|答案(1)|浏览(141)

如何在模板中获取结果?请
我有一个函数应该显示模板的名称

<script setup>
const { $userStore, $generalStore, $forumStore } = useNuxtApp()
import {storeToRefs} from "pinia";
const { title, body } = storeToRefs($forumStore)
const route = useRoute()
const router = useRouter()

onMounted(async () => {
  try {
    const categoryId = route.params.id
    posts.value = await $forumStore.getPosts(categoryId)
    console.log(posts.value)
  } catch (error) {
    if (error ) {

    } console.log(error)
  }
})
</script>

字符串
这里是模板

<div>
    <h1>Posts in Category: {{ $route.params.id }}</h1>
    <ul v-if="posts && posts.length > 0" >
      <li v-for="post in posts" :key="post.id">
        {{ post.title }}
      </li>
    </ul>
  </div>


这里是 * console.log(posts.value)* 来自服务器的myposts数组


的数据
什么都没发生什么都没发生请帮帮忙

5uzkadbs

5uzkadbs1#

是的,威尔C,你是对的,我搞砸了一些React。现在我的代码起作用了

  • 我的pinia商店 *
export const useForumStore = defineStore('forum', {
 id: 'post',
    state: () => ({
    }),
    actions: {
        setPosts(posts) {
            this.posts = posts;
        },
    }
})

字符串

  • 我的组件模板 *
<div>
    <h1>Posts in Category: {{ $route.params.id }}</h1>
    <ul v-if="$forumStore.posts.length">
      <li v-for="post in $forumStore.posts" :key="post.id">
        {{ post.title }} {{ post.body }}
      </li>
    </ul>
</div>

  • 和脚本 *
onMounted(async () => {
  try {
    const categoryId = route.params.id;
    let res = await $axios.get(`/api/categories/${categoryId}/posts`)
    postRef.value = res.data;
    $forumStore.setPosts(postRef.value.posts);
  } catch (err) {
    console.error(err);
  }
});


我认为你会做得更好,但对我来说,在这个阶段,这是确定的))

相关问题