選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue 教程

Vue 首頁 Vue Intro Vue Directives Vue v-bind Vue v-if Vue v-show Vue v-for Vue Events Vue v-on Vue Methods Vue Event Modifiers Vue Forms Vue v-model Vue CSS Binding Vue Computed Properties Vue Watchers Vue Templates

Scaling Up

Vue 為什麼、如何及設定 Vue 第一個 SFC 頁面 Vue 元件 Vue Props Vue v-for 元件 Vue $emit() Vue Fallthrough Attributes Vue 作用域樣式 Vue 本地元件 Vue Slots Vue v-slot Vue 作用域插槽 Vue 動態元件 Vue Teleport Vue HTTP 請求 Vue 模板引用 Vue 生命週期鉤子 Vue Provide/Inject Vue 路由 Vue 表單輸入 Vue 動畫 Vue v-for 動畫 Vue Build Vue Composition API

Vue Reference

Vue Built-in Attributes Vue Built-in Components Vue Built-in Elements Vue Component Instance Vue Directives Vue Instance Options Vue Lifecycle Hooks

Vue 示例

Vue Examples Vue Exercises Vue Quiz Vue Server Vue Certificate

Vue 'is' 屬性


示例

is 屬性透過 v-bind(簡寫為 :)與計算值 'activeComp' 關聯,以便顯示 'comp-one' 元件或 'comp-two' 元件。

App.vue:

<template>
  <h1>Dynamic Components</h1>
  <p>App.vue switches between which component to show.</p>
  <button @click="toggleValue = !toggleValue">Switch component</button>
  <component :is="activeComp"></component>
</template>
執行示例 »

更多示例請參見下方。


定義和用法

is 屬性可用於三個方面:

1. 動態元件:is 屬性設定在內建的 <component> 元素上,以建立動態元件,其中 is 屬性定義了哪個元件應該是活動的。

更具體地說,is 屬性透過 v-bind 繫結到一個屬性,該屬性儲存了應該活動的元件的名稱。(參見上面的示例)

2. 使用 Vue 元件替換原生元素:is="vue:my-component" 放在原生 HTML 元素上,以用 Vue 元件替換它。(參見示例 1)

如果我們不使用 vue: 字首,它將被解釋為自定義內建元素,如下方解釋所示,Vue 元件將不會被插入。

3. 自定義內建元素:自定義內建元素可以用 JavaScript 編寫,並且 is 屬性可以用於 HTML 標籤上,將其定義為這種自定義內建元素。這不是 Vue 的特性。


更多示例

示例 1

使用 is 屬性將 <img> 標籤替換為 Vue 元件。

App.vue:

<template>
  <h2>Example Built-in 'is' Attribute</h2>
  <p>The IMG tag below is set to be replaced by a component by the use of 'is="vue:child-comp"'.</p>
  <img is="vue:child-comp" />
</template>

ChildComp.vue:

<template>
  <div>
    <h3>ChildComp.vue</h3>
    <p>This is the child component</p>
  </div>
</template>

<style scoped>
div {
  border: solid black 1px;
  background-color: lightgreen;
  padding: 10px;
  max-width: 250px;
  margin-top: 20px;
}
</style>
執行示例 »

相關頁面

Vue 教程:動態元件

Vue 教程:Vue Components

Vue 教程:Vue Computed Properties

Vue 教程:Vue v-bind 指令

Vue 參考:Vue v-bind 指令

Vue 參考:Vue <component> 元素

Vue 參考:Vue $refs 物件


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援