使用Vue 組件怎么修改根實例的數(shù)據(jù)?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務器商,為用戶提供優(yōu)質(zhì)的達州電信機房服務思路:
1 在組件內(nèi)部監(jiān)聽事件并把事件 emit
2 在組件上監(jiān)聽 emit 出來的事件
3 當事件發(fā)生時執(zhí)行對應的函數(shù)去修改根實例上的 data
實現(xiàn):
1 在組件內(nèi)部的 input框 中監(jiān)聽 input事件,并給 input事件 綁定triggerInput函數(shù)
2 當往 input框 中輸入內(nèi)容時,觸發(fā) triggerInput 函數(shù)
triggerInput函數(shù) 向外部 emit 一個 edit事件 和 輸入框的值
3 在組件上監(jiān)聽這個 edit事件 并給 edit事件 綁定 triggerEdit函數(shù)
4 此時會觸發(fā) triggerEdit函數(shù),triggerEdit函數(shù) 就能去修改根實例上的 data
注意:
1 triggerEdit函數(shù) 的第一個參數(shù)為你想要修改的根實例 data 的 key
2 第二個參數(shù) $event 是套路,有這個參數(shù)才能在 triggerEdit函數(shù) 中獲取組件內(nèi)部 emit 出來的 input框的值
3 可以在 triggerEdit函數(shù)中 log 出組件內(nèi)部發(fā)生的 event
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> 根實例的 data message:{{message}} <br> 根實例的 data name:{{name}} <br> message: <component-demo1 v-on:edit="triggerEdit('message', $event)" ></component-demo1> name: <component-demo1 v-on:edit="triggerEdit('name', $event)" ></component-demo1> </div> </body> <script> Vue.component('component-demo1', { template: ` <div> 組件內(nèi)的 input: <input v-on:input='triggerInput' > </div> `, methods: { triggerInput: function (e) { this.$emit('edit', e.target.value) }, }, }) var app = new Vue({ el: '#app', data: { message: 'hello vue', name: 'gua', }, methods: { triggerEdit: function (key, value) { this[key] = value } } }) </script> </html>為什么要使用Vue
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護性和可測試性更強的代碼庫,Vue允許可以將一個網(wǎng)頁分割成可復用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網(wǎng)頁中相應的地方,所以越來越多的前端開發(fā)者使用vue。
看完上述內(nèi)容,你們掌握使用Vue 組件怎么修改根實例的數(shù)據(jù)的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享標題:使用Vue組件怎么修改根實例的數(shù)據(jù)-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article10/dpepgo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、微信公眾號、定制網(wǎng)站、營銷型網(wǎng)站建設、外貿(mào)網(wǎng)站建設、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)