Vue元件深入理解--插槽
插槽
插槽相當於佔位符,用<slot></slot>
表示;用於父元件填充子元件的資訊;
1、 插槽的基本使用
-
先定義一個子元件
<navigation-link>
,內包含佔位符<slot>
<a v-bind:href=“url” class=“nav-link”> <slot></slot> </a>
-
定義父元件html
<navigation-link url="/profile"> Your Profile </navigation-link>
-
當元件渲染的時候,父元件標籤內的模板內容會替換子元件
<slot></slot>
, 即“Your Profile”會渲染到<slot></slot>
的位置<navigation-link url="/profile"> <!-- 新增一個 Font Awesome 圖示 --> <span class="fa fa-user"></span> Your Profile </navigation-link>
2、 具名插槽
-
給slot繫結一個name屬性
<header> <slot name=“header”></slot> </header
-
使用v-slot:[name] , 也可以簡寫為#header
<template v-slot:header> <h1>Here might be a page title</h1> </template>
-
非具名插槽的寫法:
<!-- 這樣會觸發一個警告 --> <current-user #="{ user }"> {{ user.firstName }} </current-user> <!-- 正確寫法:非具名插槽會視為預設插槽 --> <current-user #default="{ user }"> {{ user.firstName }} </current-user>
3、 後備內容
在<slot></slot>
中間填充內容,則擋傳入的slot中不存在時,則會使用使用填好的內容。
<button type="submit">
<slot>Submit</slot>
</button>
4、 作用域插槽
父級元件模板不能編譯子元件的變數
-
定義一個子元件插槽
<current-user>
使用屬性繫結需要訪問的值<span> <slot v-bind:user="user"> {{ user.lastName }} </slot> </span
-
繫結在
<slot>
元素上的 attribute 被稱為插槽 prop。現在在父級作用域中,我們可以使用帶值的v-slot
來定義我們提供的插槽 prop 的名字:<current-user> <template v-slot:default="slotProps"> //slotProps為自定義的 {{ slotProps.user.firstName }} </template> </current-user>
5、 總結
插槽有點類似於父子元件傳值,但傳的不是值,而是傳進去複用的模板;實際業務場景中使用插槽可能並不多,可能用在UI元件的封裝會相對比較靈活;還有就是用在模板部分重複的情況,比如彈框展示不同的內容,或者是多個模板類似但又不相同的元件。
相關文章
- 深入理解vue元件Vue元件
- vue基礎-元件&插槽Vue元件
- Vue元件、元件傳值和元件插槽Vue元件
- 深入理解vue.js——元件Vue.js元件
- 對Vue插槽slot的理解Vue
- vue 元件中solt 插槽使用Vue元件
- 深入理解 Vue 3 元件通訊Vue元件
- Vue 元件化開發之插槽Vue元件化
- 【Vue學習(二)元件和插槽】Vue元件
- 8.Vue元件三---slot插槽Vue元件
- 深入理解Vue元件3大核心概念Vue元件
- 158-vue04-元件&元件間通訊&插槽Vue元件
- 關於Vue中插槽的理解和總結Vue
- Vue 開發之插槽(slot)的理解和使用Vue
- Vue插槽與作用域插槽Vue
- 深入剖析Vue原始碼 - Vue插槽,你想了解的都在這裡!Vue原始碼
- vue。js插槽VueJS
- vue插槽slotVue
- VUE 插槽 slotVue
- vue之元件理解(一)Vue元件
- 通過UI庫深入瞭解Vue的插槽的使用技巧UIVue
- 深入理解 React 高階元件React元件
- 深入理解Flutter的GestureDetector元件Flutter元件
- 深入理解Flutter的Listener元件Flutter元件
- Vue中使用插槽Vue
- 總結Vue第二天:自定義子元件、父子元件通訊、插槽Vue元件
- 【vue-系列】深入理解VuexVue
- Vue 插槽之插槽內容學習總結Vue
- 深入解析Vue元件間通訊Vue元件
- [譯] 深入理解 React 高階元件React元件
- 深入淺出理解 React高階元件React元件
- 06 Vue3插槽Vue
- Vue 作用域插槽slotVue
- 【Vue】計算屬性 監聽屬性 元件通訊 動態元件 插槽 vue-cli腳手架Vue元件
- 對Vue元件通訊的理解Vue元件
- 深入剖析Vue原始碼 - 元件基礎Vue原始碼元件
- 深入剖析Vue原始碼 - 元件進階Vue原始碼元件
- Vue 插槽 廢棄語法Vue