您好,登錄后才能下訂單哦!
怎么在vue中使用slot插槽?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
不使用插槽,在template中用v-html解析父組件傳來的帶有標簽的content
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <child content="<p>Rachel</p>"></child> </div> </body> </html> <script> Vue.component('child', { props: ['content'], template: '<div> <p>hello</p> <div v-html="this.content"></div> </div>' }) var vm = new Vue({ el: '#app' }) </script>
使用插槽,如果父組件為空,就會顯示slot中定義的默認內容
<child> <p>Rachel</p> </child>
Vue.component('child', { template: '<div> <p>hello</p> <slot>默認內容</slot> </div>' })
使用插槽添加header和footer,使用‘具名插槽',也就是給插槽起個名字,各找各的位置。此處也可以寫默認值,如果父組件沒有對應的插槽內容的話,會顯示子組件定義的插槽的默認值。
<div id="app"> <body-content> <div class="header" slot="header">header</div> <div class="footer" slot="footer">footer</div> </body-content> </div>
Vue.component('body-content', { template: '<div> <slot name="header">default header</slot> <div class="content">content</div> <slot name="footer">default footer</slot> </div>' })
Vue是一套用于構建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區別是,使用Vue可以自底向上逐層應用,其核心庫只關注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態系統支持的庫開發復雜的單頁應用。
看完上述內容,你們掌握怎么在vue中使用slot插槽的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。