Vue父元件向子元件傳遞props過程分析一

2021-10-09 07:42:59 字數 974 閱讀 1726

假設我們有以下vue**

>

:name

="name"

/>

div>

>

export

default}}

script

>

父元件中包含乙個子元件child-component,要弄清楚父元件如何想子元件傳遞props,首先必須知道模板編譯生成的渲染函式

(

function()

,[_c(

'childcomponent',}

)],1

)}})

其中_c()是渲染函式,使用with的目的是固定作用域(實際開發中很少使用),這裡訪問name其實就是訪問this.name。而此時this是父元件的例項。也就是回去尋找父元件作用域中的name。子元件拿到父元件賦值之後的attr,attr包含普通屬性和props,這裡我們需要篩選出props

子元件的props會儲存到vm._props上。

當我們訪問props時,實際上也是通過object.defineproperty來做的訪問轉接

object.

defineproperty

(vm, key,

,set

(val)})

;

由上面可以知道,對props訪問和賦值,都會最終作用到vm._props下面的。

由於元件編譯的渲染函式中,會訪問到props,這也會產生相關的watcher,當父元件中,這個屬性發生變化時,會觸發依賴更新,也就是觸發之前收集到的watcher。從而重新執行渲染函式,開啟新一輪的props賦值操作.

vue子元件向父元件傳遞資料

vue專案中經常使用到元件之間的數值傳遞,實現的方法很多,但是原理基本上大同小異。子元件向父元件出傳遞資料,使用自定義事件的方式。父元件向子元件傳遞資料,使用props屬性的方式。推薦文章 vue筆記 父元件向子元件傳遞資料 我們可以從子元件中想父元件中傳遞多個資料,在子元件中要做的工作只是,使用t...

父元件向子元件傳遞資料 14 父元件向子元件通訊

1.不使用 v bind 傳遞資料 2.使用 v bind 傳遞資料 3.以上兩者的區別。先把重要的知識點寫在前面 簡單來說,父元件向子元件傳遞資料可以分為以下幾個步驟 在父元件繫結資料 在子元件使用 props 接收資料 在子元件使用資料。data components 渲染 2.在子元件上繫結 ...

vue父元件向子元件傳遞資料prop

今天學習vue學到使用prop父向子傳遞資料,學了半天也沒懂什麼意思,沒學懂 記住不 true 查了下別人的學習經驗發現基本上都是拷貝vue官網的介紹,哎,不要臉的真多,能咋辦 繼續研究唄 他說是父元件向子元件傳遞繫結的資料 子元件接收父元件資料,那就逆向推理一下 text align center...