本篇文章給大家分享的是有關如何在Vue利用slot插槽分發內容,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
為安仁等地區用戶提供了全套網頁設計制作服務,及安仁網站建設行業解決方案。主營業務為成都網站制作、網站建設、外貿網站建設、安仁網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!單個插槽:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="text/javascript" src="vue.min.js"></script> </head> <body> <div id="app"> <h2>我是父組件的標題</h2> <my-component> <p>這是一些初始內容</p> <p>這是更多的初始內容</p> </my-component> </div> <script type="text/javascript"> Vue.component('my-component', { // 有效,因為是在正確的作用域內 template: '<div>\ <h3>我是子組件的標題</h3>\ <slot>只有在沒有要分發的內容時才會顯示。</slot>\ </div>', data: function () { return { } } }); new Vue({ el:'#app', data:{ msg:'你好啊' } }) </script> </body> </html>
組件中的模板中寫入slot標簽,在父級調用子組件的時候傳入html即可。
具名插槽:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="text/javascript" src="vue.min.js"></script> </head> <body> <div id="app"> <my-component> <h2 slot="header">這里可能是一個頁面標題</h2> <p>主要內容的一個段落。</p> <p>另一個主要段落。</p> <p slot="footer">這里有一些聯系信息</p> </my-component> </div> <script type="text/javascript"> Vue.component('my-component', { // 有效,因為是在正確的作用域內 template: '<div class="container">\ <header>\ <slot name="header"></slot>\ </header>\ <main>\ <slot></slot>\ </main>\ <footer>\ <slot name="footer"></slot>\ </footer>\ </div>', data: function () { return { } } }); new Vue({ el:'#app', data:{ msg:'你好啊' } }) </script> </body> </html>
具名插槽,顧名思義當有多個slot標簽時,你需要給他們起個自己的名字,在父組件調用時需要slot="內部的對應名字",當存在沒有命名的slot標簽時,父級組件傳入的默認html代碼將全部輸出在無名的slot標簽中。
作用域插槽
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="text/javascript" src="vue.min.js"></script> </head> <body> <div id="app"> <!-- 在父級中,具有特殊特性 slot-scope 的 <template> 元素必須存在,表示它是作用域插槽的模板。slot-scope 的值將被用作一個臨時變量名,此變量接收從子組件傳遞過來的 prop 對象: --> <child> <template scope="props"> <span>hello from parent</span><br> <span>{{ props.text }}</span> </template> </child> </div> <script type="text/javascript"> // 在子組件中,只需將數據傳遞到插槽,就像你將 prop 傳遞給組件一樣: Vue.component('child',{ template:'<ul>' + '<slot text="hello from child"></slot>' + '</ul>', data:function(){ return { } }, }); new Vue({ el:'#app', data:{ msg:'你好啊' } }) </script> </body> </html>
作用域插槽是一種特殊類型的插槽,用作一個 (能被傳遞數據的) 可重用模板,來代替已經渲染好的元素。
其實就是相當于,在父組件中可以獲取到子組件傳遞出來的props對象,從而渲染到父組件上。
以上就是如何在Vue利用slot插槽分發內容,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯成都網站設計公司行業資訊頻道。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:如何在Vue利用slot插槽分發內容-創新互聯
本文地址:http://m.newbst.com/article36/cogesg.html
成都網站建設公司_創新互聯,為您提供虛擬主機、關鍵詞優化、企業建站、定制開發、自適應網站、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯