refs繫結元素使用時的返回值解析

2021-09-26 07:43:41 字數 1639 閱讀 9222

ref 被用來給元素或子元件註冊引用資訊。引用資訊將會註冊在父元件的 $refs 物件上。如果在普通的 dom 元素上使用,引用指向的就是 dom 元素;如果用在子元件上,引用就指向元件例項。(摘錄自官網)

之前在第一篇部落格上介紹vue元件通訊的時候有介紹過ref,vue中我們經常使用其來實現對進行父子元件的傳遞使用。

>

"temp"

>

<

/child>

<

/div>

<

/template>這種情形下我們列印this.refs.temp 我們會發現其返回值型別為object,我們可以很方便的訪問到自元件的例項。

this

.$refs.temp.value =

this

.info //獲得屬性

this

.$refs.temp.

tempclick

(data)

//觸發事件如果,你的vue**寫法如下的話:

for=

"control of dividecontrol"

>

"control.isenabled"

>

="title-item color-999 rem-padding-lr15"

>費用分<

/div>

"divideexpense" @changeshowstatus=

"changeshowstatus"

>

<

/divide-expense>

<

/template>

<

/template>當你再去使用

divideexpenseelement()

this

.divideexpenseelement &&

this

.divideexpenseelement.

divideexpensebymoney

(money)你會發現,系統會提示this.divideexpenseelement.divideexpensebymoney is not a function,也就是說這個divideexpensebymoney方法是undefined,之前沒去深究ref這個東西,覺得沒有道理啊,之前也是這樣直接去獲取自元件例項以及屬性的。所以對this.divideexpenseelement進行console輸出發現其中的奧妙:

發現$refs繫結元素使用時的返回值的型別竟然不是物件了,而是乙個array。所以再次使用自元件的例項時,**如下即正常:

this

.divideexpenseelement &&

this

.divideexpenseelement[0]

.divideexpensebymoney

(money)

事後查閱了一下資料,發現當 v-for 用於元素或元件的時候,引用資訊將是包含 dom 節點或元件例項的陣列。

函式返回值的使用

函式的返回資料之間的傳遞 1.外部定義乙個變數 列表,或字典 然後呼叫函式的時候對這個變數進行賦值,個人覺得如果需要大量記錄資料用於最後執行完成檢視或寫入文件,可用這種方法 2.函式內呼叫函式,可以吧這個函式直接放到函式的入參裡,省去了再定義乙個變數的操作,適合用於函式的返回值直接可以當入參使用 3...

controller方法返回值和引數繫結

controller方法的返回值型別 getitems public modelandview getitems throws exception querybyid public string selectbyiditems integer id,model model throws except...

dojo uploader使用,ps 返回值

dojox form uploader 上傳檔案的處理路徑 var url this.projectname widgets handler fruitsubmit.ashx?methodname fileupload this.fileupload new uploader this.fileup...