Vue.js——slot-插槽的基本使用——2020.12.7
一丶為什麼使用slot
(一)slot翻譯為插槽
- 在生活中很多地方都有插槽,電腦的USB插槽,插板當中的電源插槽
- 插槽的目的是讓我們原來的裝置具有更多的擴充套件性
- 比如電腦的USB我們可以插入U盤,硬碟,手機,音響,鍵盤,滑鼠等
(二)元件的插槽
- 元件的插槽也是為了讓我們封裝的元件更具有擴充套件性
- 讓使用者可以決定元件內部的一些內容到底展示什麼
(三)例子:移動網站中的導航欄
- 移動開發中,幾乎每個頁面都有導航欄
- 導航欄我們必然會封裝成一個外掛,比如nav-bar元件
- 一旦有了這個元件,我們就可以在多個頁面中複用
二丶如何封裝這類外掛呢?slot
(一)如何去封裝這類的元件呢?
- 它們也很多區別,但是也有很多共性
- 如果,我們每一個單獨去封裝一個元件,顯然不合適
- 比如每個頁面都返回,這部分內容我們就要重複去封裝
- 但是,如果我們封裝成一個,好像也不合理
- 有些左側是選單,有些是返回,有些中間是搜尋,有些事文字等等
(二)如何封裝合適呢?抽取共性,保留不同
- 最好的封裝方式就是將共性抽取到元件中,將不同暴露為插槽
- 一旦我們預留了插槽,就可以讓使用者根據自己的需求,決定插槽中插入什麼內容
- 是搜尋框,還是文字,還是選單,由呼叫者自己來決定
(三)這就是使用slot的意義所在
三丶案例程式碼
<!--作者:key-->
<!--瀏覽工具:Chrome-->
<!--開發工具:WebStorm-->
<!--開發時間:2020/12/4 10:07-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--1.插槽的基本使用,<slot></slot>-->
<!--2.插槽的預設值 <slot>button</slot>-->
<!--3.如果有多個值,同時放入到元件進行替換時,一起作為替換元素-->
<div id="app">
<cpn>
<button>按鈕</button>
</cpn>
<cpn>
<i>呵呵呵</i>
<div>我是DIV元素</div>
<p>我是段落</p>
</cpn>
<cpn></cpn>
</div>
<template id="cpn">
<div>
<h2>我是key</h2>
<p>我是內容</p>
<slot></slot>
<hr>
</div>
</template>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
},
components:{
cpn:{
template:'#cpn'
}
}
})
</script>
</body>
</html>
四丶執行結果
——仰天大笑出門去,我輩豈是蓬蒿人——
相關文章
- 「譯」一個案例搞懂 Vue.js 的作用域插槽Vue.js
- Vue(14)slot插槽的使用Vue
- Vue中使用插槽Vue
- vue 元件中solt 插槽使用Vue元件
- Vue 匿名、具名和作用域插槽的使用Vue
- Vue 插槽(slot)使用(通俗易懂)Vue
- day67:Vue:es6基本語法&vue.js基本使用&vue指令系統Vue.js
- Vue 開發之插槽(slot)的理解和使用Vue
- 初識 Vue(19)---(Vue 中使用插槽(slot))Vue
- 通過UI庫深入瞭解Vue的插槽的使用技巧UIVue
- vue.js中mixin的使用。Vue.js
- Vue 插槽之插槽內容學習總結Vue
- vue插槽slotVue
- React-插槽React
- VUE 插槽 slotVue
- vue。js插槽VueJS
- [vue] 插槽 slotVue
- 對Vue插槽slot的理解Vue
- 詳解Vue中的插槽Vue
- vue.js-使用slot插槽分發內容Vue.js
- slot 插槽筆記(與文件基本沒差別,僅作學習記錄)筆記
- 使用Vue.js的注意事項Vue.js
- CPU插槽型別型別
- Vue.js 2.x筆記:基本語法(2)Vue.js筆記
- Vuex的基本使用Vue
- mongoose的基本使用Go
- mysqli的基本使用MySql
- mybatis的基本使用MyBatis
- RecyclerView 的基本使用View
- Bootstrap 的基本使用boot
- github的基本使用Github
- jQuery的基本使用jQuery
- GCD的基本使用GC
- Promise的基本使用Promise
- pymongo的基本使用Go
- pymssql的基本使用SQL
- vue基礎-元件&插槽Vue元件
- Vue 作用域插槽slotVue