Vue 組件修改根實(shí)例的數(shù)據(jù)的方法
思路:
1 在組件內(nèi)部監(jiān)聽事件并把事件 emit
2 在組件上監(jiān)聽 emit 出來的事件
3 當(dāng)事件發(fā)生時(shí)執(zhí)行對(duì)應(yīng)的函數(shù)去修改根實(shí)例上的 data
實(shí)現(xiàn):
1 在組件內(nèi)部的 input框 中監(jiān)聽 input事件,并給 input事件 綁定triggerInput函數(shù)
2 當(dāng)往 input框 中輸入內(nèi)容時(shí),觸發(fā) triggerInput 函數(shù)
triggerInput函數(shù) 向外部 emit 一個(gè) edit事件 和 輸入框的值
3 在組件上監(jiān)聽這個(gè) edit事件 并給 edit事件 綁定 triggerEdit函數(shù)
4 此時(shí)會(huì)觸發(fā) triggerEdit函數(shù),triggerEdit函數(shù) 就能去修改根實(shí)例上的 data
注意:
1 triggerEdit函數(shù) 的第一個(gè)參數(shù)為你想要修改的根實(shí)例 data 的 key
2 第二個(gè)參數(shù) $event 是套路,有這個(gè)參數(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"> 根實(shí)例的 data message:{{message}} <br> 根實(shí)例的 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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用vue引入maptalks地圖及聚合效果的實(shí)現(xiàn)
這篇文章主要介紹了使用vue引入maptalks地圖及聚合效果的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08vue treeselect獲取當(dāng)前選中項(xiàng)的label實(shí)例
這篇文章主要介紹了vue treeselect獲取當(dāng)前選中項(xiàng)的label實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08vue 動(dòng)態(tài)設(shè)置瀏覽器標(biāo)題的方法詳解
這篇文章主要為大家介紹了vue動(dòng)態(tài)設(shè)置瀏覽器標(biāo)題的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12使用electron打包Vue前端項(xiàng)目的詳細(xì)流程
這篇文章主要介紹了使用electron打包Vue前端項(xiàng)目的詳細(xì)流程,文中通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)electron打包Vue有一定的幫助,需要的朋友可以參考下2024-04-04import.meta.glob() 如何導(dǎo)入多個(gè)目錄下的資源(最新推薦)
import.meta.glob() 其實(shí)不僅能接收一個(gè)字符串,還可以接收一個(gè)字符串?dāng)?shù)組,就是匹配多個(gè)位置,本文給大家介紹import.meta.glob() 如何導(dǎo)入多個(gè)目錄下的資源,感興趣的朋友一起看看吧2023-11-11