电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:2日期:2023-12-12 11:51:46
目錄父傳子:子傳父:

在不使用Vuex的情況下,組件間傳值的方式是通過父傳子的方式或者兄弟組件傳值。

父傳子:

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對象中的數(shù)據(jù);例如let val=this.$store.state.num;

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

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

actions對象,用于在Vuex中發(fā)請求

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

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

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

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

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

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

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 换网器_自动换网器_液压换网器--郑州海科熔体泵有限公司 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 二手注塑机回收_旧注塑机回收_二手注塑机买卖 - 大鑫二手注塑机 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 哔咔漫画网页版在线_下载入口访问指引 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 滑板场地施工_极限运动场地设计_滑板公园建造_盐城天人极限运动场地建设有限公司 | 3A别墅漆/3A环保漆_广东美涂士建材股份有限公司【官网】 | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 桑茶-七彩贝壳桑叶茶 长寿茶 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 |