午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

淺談Vue的組件間傳值(包括Vuex)

瀏覽:10日期:2023-12-12 11:51:46
目錄父?jìng)髯?子傳父:

在不使用Vuex的情況下,組件間傳值的方式是通過父?jìng)髯拥姆绞交蛘咝值芙M件傳值。

父?jìng)髯?

fatherComponent:

<template> <div><HELLOWORLD :needData='content'></HELLOWORLD> </div></template><script>import HELLOWORLD from ’../components/HelloWorld.vue’export default { components:{HELLOWORLD }, data(){return{ content:'content'} }}</script><style lang='less' scoped></style>

SonComponent(子組件名稱為HELLOWORLD):

<template> <div><h1>HELLOWORLD</h1> </div></template><script>export default { props:['needData'], data(){return{ H:this.needData,} }, mounted(){console.log(this.H); }}</script><style lang='less' scoped></style>

淺談Vue的組件間傳值(包括Vuex)

子傳父:

FatherComponent:

<template> <div><HELLOWORLD @sendData='getData'></HELLOWORLD> </div></template><script>import HELLOWORLD from ’../components/HelloWorld.vue’export default { components:{HELLOWORLD }, data(){return{ } }, methods:{getData(sonData){ console.log('data=>',sonData);}, }}</script><style lang='less' scoped></style>

SonComponent:

<template> <div><h1>HELLOWORLD</h1> </div></template><script>export default { data(){return{ content:'content'} }, mounted(){this.$emit('sendData',this.content); }}</script><style lang='less' scoped></style>

效果圖:

淺談Vue的組件間傳值(包括Vuex)

實(shí)際上,為了數(shù)據(jù)能在父子組件間傳值;還可以通過調(diào)用父組件的函數(shù)或調(diào)用子組件的函數(shù)的方式實(shí)現(xiàn)傳值。 Vue中子組件調(diào)用父組件的函數(shù)

https://www.jb51.net/article/134732.htm

Vue父組件調(diào)用子組件的函數(shù)

https://www.jb51.net/article/219793.htm

Vuex是Vue框架中不可或缺的一部分;

Vuex在需要多組件通信的時(shí)候顯得格外重要;比如數(shù)據(jù)在父組件形成,但數(shù)據(jù)需要在子組件的子組件中使用時(shí),就可以使用Vuex管理;或者說需要兄弟組件傳值時(shí),可以使用Vuex。

在Vue的store.js中有五個(gè)屬性:分別是state,mutations,actions,getters,modules

結(jié)構(gòu)為:

let a={ state: { name:'moduleA' }, //mutations專門用于改變state屬性中的數(shù)據(jù) mutations: { setFun(state,item){state.name=item;} }}export default new Vuex.Store({ //state專門存放數(shù)據(jù) state: { num:100, useAcomponent:{name:'A',},useBcomponent:'content', }, //mutations專門用于改變state屬性中的數(shù)據(jù) mutations: { setStateFun(state,item){state.useBcomponent='Bcomponent';} }, actions: { httpGetData(store,item){setTimeout(()=>{console.log(item);store.commit('setStateFun',item);},3000)} }, getters:{ //調(diào)用getters中的函數(shù)時(shí)沒有入?yún)etterFun1(state){return state.num++} //調(diào)用getters中的函數(shù)時(shí)有入?yún)? gettterFun2(state){return function(val){return state.num+=val;}} }, modules: { ModuleA:a }});}

state中的數(shù)據(jù)可以在不同組件中訪問獲取。

獲取state的數(shù)據(jù):

this.$store.state.state對(duì)象中的數(shù)據(jù);例如let val=this.$store.state.num;

更改state數(shù)據(jù),就是調(diào)用Vuex的mutations對(duì)象中的函數(shù):

this.$store.commit('函數(shù)名','數(shù)據(jù)');例如this.$store.commit('setStateFun','testSetItem');

actions對(duì)象,用于在Vuex中發(fā)請(qǐng)求

this.$store.dispatch('函數(shù)名','數(shù)據(jù)');例如this.$store.dispatch('httpGetData','testItem');

getters對(duì)象,類似Vue的計(jì)算屬性

this.$store.getters.函數(shù)名;例如//沒入?yún)r(shí)this.$store.getters.getterFun1;//有入?yún)r(shí)this.$store.getters.getterFun2(123);

modules對(duì)象,類似將需要使用的store模塊化分開,每個(gè)modules對(duì)象對(duì)應(yīng)一個(gè)模塊

//獲取modules對(duì)象中的state數(shù)據(jù)this.$store.state.modules對(duì)象名.state值;例如this.$store.state.ModuleA.name//使用modules對(duì)象中的mutations的函數(shù)this.$store.commit('函數(shù)名','入?yún)?shù)據(jù)');例如this.$store.commit('setFun','itemabc');//這里需要注意,如果modules模塊中與外部(不是modules對(duì)象模塊)的mutations對(duì)象中有相同名字的函數(shù)時(shí),則相同名字的函調(diào)用時(shí)都會(huì)執(zhí)行

到此這篇關(guān)于淺談Vue的組件間傳值(包括Vuex)的文章就介紹到這了,更多相關(guān)Vue 組件間傳值內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 久久久久久免费视频 | 久久人人精品 | 亚洲综合在线观看视频 | 91精品国产综合久久久蜜臀 | 香蕉视频首页 | 91久久精品日日躁夜夜躁国产 | 一区二区三区在线视频播放 | 日韩av手机在线播放 | 六月婷婷激情网 | 亚洲欧美日韩综合 | 97免费公开视频 | 最新国产精品视频 | 91麻豆视频网站 | 成人va视频 | 久操视频网 | 伊人超碰在线 | 欧美一卡二卡在线 | 五月婷婷激情视频 | 天堂在线视频 | 欧美亚洲国产一区二区三区 | 婷婷丁香激情 | 欧美区国产区 | 天堂av手机版 | 什么网站可以看毛片 | 久久午夜影院 | 男女激情视频在线观看 | 亚洲欧美日韩中文字幕在线观看 | 久久免费视频观看 | 日韩精品极品视频 | 国产 中文 字幕 日韩 在线 | 免费观看一级一片 | 欧美性生交大片 | 国产四区在线观看 | 亚洲精品久久久久久久久久久 | 婷婷丁香综合 | 亚洲黄站| 亚洲女人18毛片水真多 | 日本精品久久久久久 | 国产91av在线播放 | 久久国产精品偷 | 亚洲人人爱|