淺談Vue中插槽slot的使用方法
如何定義和使用:
在組件的template中使用slot標簽定義,slot標簽中間可以定義默認顯示值,如果slot標簽沒有聲明name屬性值,在使用插槽時將默認從第一個插槽依次往下放置,為瞭方便使用,一般都會都插槽slot指定一個name屬性值,當要使用該插槽時,隻需要在要使用的標簽內添加slot=‘插槽名字’,就可以將指定的標簽放到指定的插槽內,插槽內可以是任意內容。
舉例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>slot插槽練習</title> <script src="../../js/vue.js"></script> </head> <body> <div id="app"> <div style="border: 7px solid blueviolet;"> <h2>父組件</h2> <cpn> <!-- 將一個元素添加到指定得插槽位置 --> <button slot="left">按鈕</button> <input type="text" slot="right" placeholder="這是輸入框..."></input> </cpn> </div> </div> <template lang="" id="cpn"> <div style="border: 6px solid green;"> <h2>子組件</h2> <!-- 在子組件中定義三個插槽,插槽內得值為默認值 --> <slot name="left">左</slot> <slot name="mediate">中</slot> <slot name="right">右</slot> </div> </template> <script> new Vue({ el:'#app', components:{ cpn:{ template:'#cpn', } } }) </script> </body> </html>
效果如圖:
分析:
在上面實例中,子組件中定義瞭三個插槽,並給瞭具體的name屬性值,在父組件調用子組件中,子組件內給name為left的插槽位置放置瞭一個按鈕,將並將一個輸入框放置到name為right的插槽。從中我們可以發現,通過使用插槽,可以使組件有更多的擴展,插槽內的內容可以是任意內容,定義插槽,相當於提前給組件挖好一個坑,等後面用到的時候再調用。
到此這篇關於 淺談Vue中插槽slot的使用方法的文章就介紹到這瞭,更多相關Vue中插槽slot用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vue中代碼傳送(teleport)的實現
- 關於VUE的編譯作用域及slot作用域插槽問題
- vue中的slot封裝組件彈窗
- JavaScript操作元素教你改變頁面內容樣式
- Jquery實現下拉菜單案例