Rumah  >  Soal Jawab  >  teks badan

Menggunakan komponen web Vue.js dengan Pinia

Soalan dikemas kini

Saya cuba menggunakan kedai Pinia dengan komponen web yang dibuat menggunakan Vue.js tetapi saya mendapat ralat ini dalam konsol:

[Vue warn]: Suntikan "Simbol(pinia)" tidak ditemui di

Saya ada contoh yang sangat mudah.

  1. utama.ts
import { defineCustomElement } from 'vue'
import HelloWorld from './components/HelloWorld.ce.vue'

const ExampleElement = defineCustomElement(HelloWorld)
customElements.define('hello-world', ExampleElement)
  1. kedai.ts
import { defineStore, createPinia, setActivePinia } from "pinia";

setActivePinia(createPinia());

export const useCounterStore = defineStore('counter', {
  state: () => ({
    counter: 0,
  }),

  actions: {
    increment() {
      this.counter++;
    },
  },
});
  1. HelloWorld.ce.vue
<script setup lang="ts">
import { ref } from 'vue'
import { useCounterStore } from '../store.ts'

defineProps<{ msg: string }>()

const store = useCounterStore()
</script>

<template>
  <h1>{{ msg }}</h1>
  <div class="card">
    <button type="button" @click="store.increment()">count is {{ store.counter }}</button>
  </div>
</template>

P粉755863750P粉755863750304 hari yang lalu500

membalas semua(1)saya akan balas

  • P粉832212776

    P粉8322127762023-12-21 00:07:25

    Selepas mencipta pinia dalam main.js, anda akan mencipta semula pinia di kedai anda. Alih keluar baris ini dari kedai anda:

    import { createPinia } from 'pinia'
    const pinia = createPinia()

    balas
    0
  • Batalbalas