Przejdź bezpośrednio do treści

Custom Elements API

defineCustomElement()

Ta metoda przyjmuje ten sam argument co defineComponent, ale zamiast tego zwraca natywny konstruktor klasy Custom Element.

  • Typ

    ts
    function defineCustomElement(  component:  | (ComponentOptions & CustomElementsOptions)  | ComponentOptions['setup'],  options?: CustomElementsOptions ): {  new (props?: object): HTMLElement }  interface CustomElementsOptions {  styles?: string[]   // the following options are 3.5+  configureApp?: (app: App) => void  shadowRoot?: boolean  nonce?: string }

    Typ jest uproszczony w celu zwiększenia czytelności.

  • Szczegóły

    Poza zwykłymi opcjami komponentu, defineCustomElement() obsługuje również wiele opcji związanych z niestandardowymi elementami:

    • styles: tablica stringów CSS, którymi dostarczamy style CSS do wstrzyknięcia w shadow root elementu.

    • configureApp : funkcja służąca do skonfigurowania instancji aplikacji Vue dla niestandardowego elementu.

    • shadowRoot : boolean, domyślnie true. Ustawienie na false sprawi że renderujemy niestandardowy element bez shadow root. Oznacza to, że <style> z niestandarowego elementu SFC nie będzie enkapsułowany.

    • nonce : string, jeśli zdefiniowana, będzie uzyta jako atrybut nonce na tagach style wstrzykniętych do shadow root.

    Pamiętaj, że te opcje zamiast być przekazanymi jako część komponentu, mogą być przekazane poprzez drugi argument:

    js
    import Element from './MyElement.ce.vue'  defineCustomElement(Element, {  configureApp(app) {  // ...  } })

    Wartością zwrotną jest konstruktor klasy niestandarowego elementu, który można zarejestrować używając customElements.define().

  • Przykład

    js
    import { defineCustomElement } from 'vue'  const MyVueElement = defineCustomElement({  /* component options */ })  // Zarejestruj niestandardowy element. customElements.define('my-vue-element', MyVueElement)
  • Zobacz również

useHost()

Helper Composition API, który zwraca hostujący element obecnej instancji niestandarowego elementu Vue.

useShadowRoot()

Helper Composition API, który zwraca shadow root obecnej instancji niestandarowego elementu Vue.

this.$host

Własność Options API, która udostępnia hostujący element obecnej instancji niestandardowego elementu Vue.

Custom Elements APIJest załadowany