1. 程式人生 > >Vue父子元件資料雙向繫結,子元件可修改props

Vue父子元件資料雙向繫結,子元件可修改props

父元件 => props[parent-data] => 子元件 => watch[parent-data] => children-data = parent-data // 子元件監聽父元件的改變

子元件 => $emit[children-data] => 父元件 => parant-data = children-data // 子元件通知父元件自身的改變

// 父元件
<div>
    <Children :parentData="parentData" @getChildrenStatus="getChildrenStatus"></Children>
</div>
// 父元件
data(){
    return {
        parentData: 1
    }
},
methods: {
    getChildrenStatus: function(data){ // 實時更新子元件的變化
        this.parentData = data
    }
}
//子元件
data(){
    return {
        chiildrenData: 1
    }
},
props: ['parentData']
watch: {
    parentData: function(){ // 監聽父元件的變化
        this.childrenData = this.parentData
    }
}
mounted(){
    this.$emit('getChildrenStatus', this.childrenData) // 將改變通知父元件(保證父子元件資料一致)
}

相關推薦

Vue父子元件資料雙向元件修改props

父元件 => props[parent-data] => 子元件 => watch[parent-data] => children-data = parent-data // 子元件監聽父元件的改變 子元件 => $emit[children

vue原始碼學習——資料雙向的Object.defineProperty

情景:vue雙向繫結,這應該是多數講vue優勢脫口而出的名詞,然後你就會接觸到一個方法 Object.defineProperty(a,"b",{}) 這個方法該怎麼用 簡單例子敲一下 var a = {} Object.defineProperty(a,"b

vue 2.0 資料雙向

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <script src="js/vue.js"></script

vue開發:vue,angular,react資料雙向原理分析

傳統做法 前端維護狀態,手動操作DOM更新檢視。前端框架對伺服器資料通過模版進行渲染。當用戶產生了一個動作之後,我們通過document.getElementBy... 手動進行DOM更新。  框架幫忙分離資料和檢視,後續狀態更新需要手動操作DOM,因為框架只管首次渲染,不追蹤狀態監聽變化。 雙向資料繫結

淺談vue,angular,react資料雙向原理分析

傳統做法 前端維護狀態,手動操作DOM更新檢視。前端框架對伺服器資料通過模版進行渲染。當用戶產生了一個動作之後,我們通過document.getElementBy... 手動進行DOM更新。  框架幫忙分離資料和檢視,後續狀態更新需要手動操作DOM,因為框架只管首次渲染,不

Vue使用.sync 實現父子元件雙向資料

1.前言 最近在vue 專案中有一個需求, 就是我需要根據不同的型別在頁面中放不同的元件, 元件需要跟當前頁面的資料進行雙向繫結,如果都寫在同一個頁面 程式碼會顯得比較多,畢竟我當前頁面已經7-800行程式碼了 所以我需要把一些元素定義成元件 ,封裝起來,所以就會遇到 資料的傳

你必須知道的React的知識點:單向資料高效能虛擬DOM元件間的資料互動事件與資料雙向生命週期鉤子fetch:資料請求等

1、React除錯工具:React Developer Tools 2、React開發工具:Atom 3、React UI庫:Material-UI / Ant Deaign 4、React適用場景:資料不斷變化的大型應用程式 5、前端UI構建方式:資料模型、UI介面

自定義父子元件資料雙向實現

資料結構: 流程分析: 新建時,需要在提交表單時獲取到子元件的child資料,一般情況下,在提交時,利用this.parent.child=this.$refs.child.child,將child的資料賦值到parent中 修改時,需要從父元件把child物件傳遞給子元件,在獲取parent的資

vue之選單新增選擇知識:資料雙向、迴圈渲染、事件點選以及按鍵的點選

要求: 1.可以增加菜名 2.可以刪除菜名 3.點選選擇菜名後自動增加到已選選單中 4.可以在已選選單中取消選擇   程式碼: <template> <div> <input type="text" ref="add"> &

VUE】使用Table元件進行資料雙向

寫在前面的    由於SIMATIC內部的框架有很多,前後端自成一家。不過前端大部分還是使用了vue。以前也聽說過.NET版本的前後端分離,但也僅僅侷限於聽說,這次可是親身體會到了,對比JAVA,我只

談談Vue資料雙向原理看看你的回答能打幾分

面試官的這個問題也可以理解成為“你是怎麼理解Vue資料繫結,知道它背後實現的原理麼”。一般剛畢業的前端新人可能會說,用v-model。(當然,這可能是句廢話) 如果簡單說下v-model指令,是Vue的語法糖之類的,可能不會讓面試官滿意,也看不出你對Vue的熟練程度。只能說

7.vue元件(二)--雙向,父子元件訪問

本文主要說兩件事 1. 如何實現父子元件之間的雙向繫結 2. 父元件如何訪問子元件的data,method, 子元件如何訪問父元件的data,method等  一. 如何實現父子元件之間的雙向繫結 案例描述: 父子元件雙向繫結 父元件有一個message, 子元件有一個文字框 讓他們兩個同步變化

React學習之旅----實現類似vue資料雙向

react沒有資料的雙向繫結,但可以用過一些方法實現: import React from 'react'; class TodoList extends React.Component { constructor(props) { super(props) this.sta

Vue-事件資料雙向

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>事件處理, 雙向資料繫結</title> <script src="js/v

Vue資料雙向探究

使用過vue的小夥伴都會感覺,哇,這個框架對開發者這麼友好,簡直都要笑出聲了。 確實,使用過vue的框架做開發的人都會感覺到,以前寫一大堆操作dom,bom的東西,現在用不著了,對開發者來說更容易去注重對操作邏輯的思考和實現,省了不少事兒呢!!! 我是直接從原生js,jq的開發用過度到使用v

VUE雙向及區域性元件的使用

vue的雙向繫結,使用v-model,v-model只能使用在input  textare    select中 <!DOCTYPE html> <html lang="zh-CN"> <head> <

vue中v-model的資料雙向(重要)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body&

Vue 建構函式、生命週期與資料雙向

Vue2 建構函式、生命週期與資料雙向繫結 Vue是一個響應式的、漸進式的JavaScript框架,它在設計上採用MVVM模式,將檢視與資料兩部分分離。下面就是一個簡單的Vue例項: <!DOCTYPE html> <html lang="en"> <h

vue資料雙向

1.在data中設定的資料才會進行雙向繫結 2.陣列 2.1.data中的陣列,觸發陣列更新的方式有:pop、push、shift、unshift、splice、sort、reverse 2.2.而filter、slice、cancat等方式並不會改變原陣

iview Table元件中Input資料雙向

使用場景 Table表格元件中的每一行都有文字輸入框或者日期選擇框,那麼該如何對其中的輸入框或日期選擇框進行資料繫結呢? render自定義渲染 iview Table元件中提供了render自定義渲染列函式,使用 Vue 的 Render 函式。傳入兩個引數,