$listeners是Vue實例的一個屬性,它是用來監聽子組件事件的。當父組件監聽到這些事件時,它們將會觸發事件,并執行相應的操作。
該屬性實際上是一個對象,在子組件中,可以通過在頂級元素上添加$listeners來將這些事件偵聽器綁定到子組件 DOM 上。
<button v-on="$listeners"> <slot></slot> </button>
以上代碼演示了如何將父組件的$listeners綁定到子組件的按鈕上,從而在子組件中監聽到相應的事件。
此外,我們還可以使用v-bind,將props和$listeners合并到子組件上。
<my-component v-bind="$attrs" v-on="$listeners"></my-component>
在這里,$attrs是用來將非prop特性綁定到子組件上的。而將$listeners與v-bind一起使用,可以將其合并到組件上,使得我們可以在組件中監聽到父組件的所有事件。
上一篇vue $parent
下一篇python+形狀+個數