<div id="app">
  <div class="p-5">
    <h4>
      全域註冊
    </h4>
    <p>此 createApp 下,任何子元件都可運用,在中小型專案、一般頁面開發很方便</p>
    <alert></alert>
    <alert2></alert2>
    <alert3></alert3>
  </div>
</div>
const app = Vue.createApp({
  data() {
    return {
      text: '外部元件文字',
    };
  },
}).component('alert', {
  // 全域註冊方法1
  data() {
    return {
      text: 'alert 的 text'
    };
  },
  template: `<div class="alert alert-primary" role="alert">
      {{ text }}
    </div>`
});
// 全域註冊方法2
app.component('alert2',{
  data() {
    return {
      text: 'alert2 的 text'
    };
  },
  template: `<div class="alert alert-primary" role="alert">
      {{ text }}
    </div>`
});

// 也可以事先先定義好物件
// 但是需要注意要在前面就定義好,否則會取不到
  const alert3 = {
    data() {
      return {
        text: '元件3'
      };
    },
    template: `<div class="alert alert-primary" role="alert">
    {{ text }}
  </div>`
  }
  app.component('alert3',alert3);

// 最後才會將元件掛載在#app上
app.mount('#app');
Run Pen

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap.min.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.2/js/bootstrap.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.37/vue.global.prod.min.js