vuejs2.0子組件改變父組件的數(shù)據(jù)實例
在vue2.0之后的版本中,不允許子組件直接改變父組件的數(shù)據(jù),在1.0的版本中可以這樣操作的,但是往往項目需求需要改變父組件的數(shù)據(jù),2.0也是可一個,區(qū)別是,當(dāng)我們把父元素的數(shù)據(jù)給子組件時,需要傳一個對象,子組件通過訪問對象中的屬性操作數(shù)據(jù),下面是演示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="vue.js"></script> <script type="text/javascript"> window.onload = function(){ var app = new Vue({ el:'#box', data:{ myData:{ info:'父組件信息' } }, components:{ 'v-com':{ props:['data'], template:'#tpl', methods:{ change(){ this.data.info = 'change info' } } } } }) } </script> </head> <body> <!-- 子組件改變父組件的數(shù)據(jù) --> <div id="box"> <div> <p>{{myData.info}}</p> <v-com :data ="myData"></v-com> </div> </div> <!-- 模板 --> <template id="tpl"> <div> <button @click="change">change</button> <p>{{data.info}}</p> </div> </template> </body> </html>
這種是同步改變數(shù)據(jù),就是說子組件的數(shù)據(jù)改變,父組件數(shù)據(jù)也跟著改變,下面展示非同步的情況
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="vue.js"></script> <script type="text/javascript"> window.onload = function(){ var app = new Vue({ el:'#box', data:{ myData:'父組件信息' }, components:{ 'v-com':{ data() { return { childData:'' } }, props:['data'], // dom渲染完畢 mounted(){ this.childData = this.data }, template:'#tpl', methods:{ change(){ this.childData = 'change info' } } } } }) } </script> </head> <body> <!-- 子組件改變父組件的數(shù)據(jù),不同步 --> <div id="box"> <div> <p>{{myData}}</p> <v-com :data ="myData"></v-com> </div> </div> <!-- 模板 --> <template id="tpl"> <div> <button @click="change">change</button> <p>{{childData}}</p> </div> </template> </body> </html>
這里巧妙的通過mounted這個方法進(jìn)行了中轉(zhuǎn),實現(xiàn)了想要的效果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue-resourse將json數(shù)據(jù)輸出實例
這篇文章主要為大家詳細(xì)介紹了vue-resourse將json數(shù)據(jù)輸出實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03Vue使用NProgress實現(xiàn)頁面頂部的進(jìn)度條顯示效果
這篇文章主要介紹了vue Nprogress頁面頂部進(jìn)度條功能實現(xiàn),NProgress是頁面跳轉(zhuǎn)是出現(xiàn)在瀏覽器頂部的進(jìn)度條,本文通過實例代碼給大家講解,需要的朋友可以參考下2022-12-12解決vue項目中某一頁面不想引用公共組件app.vue的問題
這篇文章主要介紹了解決vue項目中某一頁面不想引用公共組件app.vue的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08uniApp?h5項目如何通過命令行打包并生成指定路徑及文件名稱
用uni-app來寫安卓端,近日需要將程序打包為H5放到web服務(wù)器上,經(jīng)過一番折騰,這里給大家分享下,這篇文章主要給大家介紹了關(guān)于uniApp?h5項目如何通過命令行打包并生成指定路徑及文件名稱的相關(guān)資料,需要的朋友可以參考下2024-02-02前端vue中實現(xiàn)文件下載的幾種方法總結(jié)
這篇文章主要介紹了前端vue中實現(xiàn)文件下載的幾種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04