您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何在Vue中使用插槽組件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
組件傳參
通過給組件傳遞參數, 可以讓組件變得更加可擴展, 組件內使用props接收參數
export default { props: ['options'], data(){ return {} } }
但是這個方法有局限性, 例如我寫了一個對話框組件, 對話框的內容是自定義的
如果我只是顯示文字的話, 我可以簡單的將字符串傳進去props: ['message']
但是如果需要在其中添加一個按鈕的話, 這種方法就顯得很笨重了, 所以我們用另一種辦法 插槽
slot 插槽
slot的使用就像它的名字一樣, 在組件內定義一塊空間, 取名為slotA
<div class="dialog"> 我是對話框 <slot name="slotA"></slot> </div>
在組件外, 我們可以往插槽里填入任何元素, dialog-a為組件的名稱
<dialog-a :options="hello"> <template slot="slotA"> <button>按鈕</button> // ... 可以是任何元素 </template> </dialog-a>
slot-scope 獲取插槽作用域
前面講的只是實現往組件內加入元素, 但是并沒有和組件的數據有任何的交互
slot-scope的作用就是把組件內的碼農之家數據帶出來
<div class="dialog"> 我是對話框<br> {{message}} <slot name="slotA" :message="message"></slot> </div>
在組件外就可以得到其中的message
<dialog-a :options="hello"> <template slot="slotA" slot-scope="scope"> <button>{{scope.message}}</button> </template> </dialog-a>
ref 調用組件內的方法
使用this.$refs找到組件后, 就可以調用其中methods中的方法
<dialog-a ref="dialogA"></dialog-a>
test(){ this.$refs.dialogA.func() }
以上就是如何在Vue中使用插槽組件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。