vue當中難懂的 ref 和 $refs

今天來聊聊關於refrefs

是什麼東東的知識,這兩個東西是做前端應該都知道的知識點,其實也沒有那麼複雜難懂,只是在最開始的時候不知道是什麼而已,當看了文檔,然後配合代碼就清楚知道他的含義了。

首先我們來看看官網的API解釋

預期:string

預期就是指默認的一個類型吧。

ref 被用來給元素或子組件註冊引用信息。引用信息將會註冊在父組件的 $refs 對象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子組件上。

解釋:意思就是說它可以放到組件上面,這樣後續你要用就可以通過一個變量直接使用。

hello

這段代碼在p標籤上面添加了一個ref=p,等於右邊變量可以自己隨便寫,這樣一個動作過後,後面就可以直接使用了。

需要注意的是:關於 ref 註冊時間的重要說明:因為 ref 本身是作為渲染結果被創建的,在初始渲染的時候你不能訪問它們 - 它們還不存在!$refs 也不是響應式的,因此你不應該試圖用它在模板中做數據綁定。

訪問子組件實例或子元素

有的時候你仍可能需要在 JavaScript 裡直接訪問一個子組件。為了達到這個目的,你可以通過 ref 這個 attribute 為子組件賦予一個 ID 引用。例如:

<code>
/<code>

現在在你已經定義了這個 ref 的組件裡,你可以使用:

<code>this.$refs.usernameInput/<code>

上面就可以直接反問了,而且你可以通過父組件來反問:this.$refs.input.focus()

這樣也是沒有問題的。


分享到:


相關文章: