vue父元件與子元件間如何進行資料傳遞

2021-08-08 15:01:03 字數 1139 閱讀 2947

★ 父元件傳遞資料給子元件(可以通過props屬性來實現):

由於元件例項的作用域是孤立的。這意味著不能 (也不應該) 在子元件的模板內直接引用父元件的資料。要讓子元件使用父元件的資料,我們需要通過子元件的 props 選項;

在模板中,要動態地繫結父元件的資料到子模板的 props,與繫結到任何普通的 html 特性相類似,就是用 v-bind。每當父元件的資料變化時,該變化也會傳導給子元件:

//父元件

//引入的add-widget元件

//使用 v-bind 的縮寫語法通常更簡單:

"msg"> //這裡必須要用 - 代替駝峰

// html 特性是不區分大小寫的。所以,當使用的不是字串模板,camelcased (駝峰式) 命名的 prop 需要轉換為相對應的 kebab-case (短橫線隔開式) 命名,當你使用的是字串模板的時候,則沒有這些限制

data();

}//如果你想要用乙個物件作為 props 傳遞所有的屬性,你可以使用不帶任何引數的 v-bind (即用 v-bind 替換掉 v-bind:prop-name)。例如,已知乙個 todo 物件:

todo:

//模板裡:

"todo">

//等價於:

"todo.text"

v-bind:is-complete="todo.iscomplete"

>

//子元件通過props來接收資料:

//方式1:

props: ['msgval']

//方式2 :

props:

//方式3:

props:

}//注意 props 會在元件例項建立之前進行校驗,所以在 default 或 validator 函式裡,諸如 data、computed 或 methods 等例項屬性還無法使用

★ 子元件與父元件通訊

//由於prop是單向資料傳遞的,為了防止子元件無意修改了父元件的狀態,所以子元件想要給父元件傳遞資料,vue是不允許的,這時候我們可以通過觸發事件來通知父元件改變資料,從而達到改變子元件資料的目的

//子元件:

div>

methods:

}

VUE 父元件子元件間通訊

父元件給子元件傳參,子元件通過prop屬性進行接收 簡單搭建元件部分如下,其中父元素身上有兩個資料,分別是字元型資料1,json型資料2 子元件分別從父元件獲取這兩個資料並展示,其次子元件有自己的資料 子元件通過 emit 事件想父元件發射資料 頁面結構 其中child a為子元件 這是父元件 父元...

vue元件間通訊子與父

二 元件間通訊 子元件傳值給父元件 通過事件的方式來完成資料的傳輸。在父元件中 定義乙個方法,用來接收子元件所通過事件傳來的值 methods 繫結事件處理函式 事件一般情況 都是自定義事件 在子元件觸發事件 事件名,值 this.emit myevent myphone 觸發乙個叫做myevent...

VUE 父元件與子元件互動

在專案過程中,會有很多重複功能在多個頁面中處理,此時則需要把這些重複的功能進行單獨拎出,編寫公用元件 控制項 進行引用。在vue中,元件是可復用的vue例項,此時元件中的data必須是乙個函式,因為data是乙個函式時,每次引用此元件時相當於重新對返回物件進行獨立的拷貝 例項化 new 如果data...