Hey guys, today in this post we are going to learn about How to Communicate Between Parent to Child and Passing the Value from Parent Component to Child component in Lightning Web Component — LWC.
Files we used in this post example:-
lwcParent.html.html | Lightning Web Component HTML | Template HTML file for used to write HTML element for user interface. |
lwcParent.js.js | Lightning Web Component JavaScript | It is holding click functionality and geting the input value. |
lwcParent.js-meta.xml | XML Meta File | It is used for where this lightning web component should be exposed. |
lwcChild.html.html | Lightning Web Component HTML | It is child HTML file and calling on lwcParent.html. |
lwcChild.js.js | Lightning Web Component JavaScript | It is holding @api public property and calling into parent componet. |
lwcChild.js-meta.xml | XML Meta File | It is used for where this lightning web component should be exposed. |
Live Demo
Other related post that would you like to learn in LWC
Step 1:- Create Lightning Web Component : lwcParent.html
SFDX:Lightning Web Component >> New >> lwcParent.html
lwcParent.html [Lightning Web Component HTML]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<template> <lightning-card title="How to pass value from parent to child component in lwc" icon-name="custom:custom9"> <div class="slds-wrap slds-grid"> <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"> <lightning-input name="firstName" label="First Name" value={firstNameVal} onchange={handleChange}></lightning-input> </div> <div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium"> <lightning-input name="lastName" label="Last Name" value={lastNameVal} onchange={handleChange}></lightning-input> </div> <div class="slds-col slds-size_12-of-12 slds-p-horizontal--small slds-m-bottom--medium"> <c-lwc-child child-attr-val={fullNameVal}></c-lwc-child> </div> <div class="slds-col slds-size_12-of-12 slds-p-horizontal--small slds-m-bottom--medium slds-text-align--center"> <lightning-button variant="brand" size="small" label="Add Value" onclick={addValueAction}></lightning-button> </div> </div> </lightning-card> </template> |
Step 2:- Create Lightning Web Component : lwcParent.js
SFDX:Lightning Web Component >> New >> lwcParent.js
lwcParent.js [LWC JavaScript File]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import { LightningElement, track } from 'lwc'; export default class LwcParent extends LightningElement { @track firstNameVal; @track lastNameVal; @track fullNameVal; handleChange(event){ if(event.target.name=='firstName'){ this.firstNameVal = event.target.value; //window.console.log('firstNameVal# ' + this.firstNameVal ); } if(event.target.name=='lastName'){ this.lastNameVal = event.target.value; //window.console.log('lastNameVal# ' + this.lastNameVal ); } } addValueAction(event){ this.fullNameVal = this.firstNameVal + ' ' + this.lastNameVal; // window.console.log('fullNameVal# ' + this.fullNameVal ); } } |
Step 3:- Create Lightning Web Component : lwcParent.js-meta.xml
SFDX:Lightning Web Component >> New >> lwcParent.js-meta.xml
lwcParent.js-meta.xml [LWC Meta Data XML]
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version="1.0" encoding="UTF-8"?> <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>45.0</apiVersion> <isExposed>true</isExposed> <targets> <target>lightning__AppPage</target> <target>lightning__RecordPage</target> <target>lightning__HomePage</target> <target>lightning__Tab</target> </targets> </LightningComponentBundle> |
Step 4:- Create Lightning Web Component : lwcChild.html
SFDX:Lightning Web Component >> New >> lwcChild.html
lwcChild.html [Lightning Web Component HTML]
1 2 3 |
<template> <b style="color:brown;">Full name is:- </b> {childAttrVal} </template> |
Step 5:- Create Lightning Web Component : lwcChild.js
SFDX:Lightning Web Component >> New >> lwcChild.js
lwcChild.js [LWC JavaScript File]
1 2 3 4 5 |
import { api, LightningElement } from 'lwc'; export default class LwcChild extends LightningElement { @api childAttrVal; } |
Step 6:- Create Lightning Web Component : lwcChild.js-meta.xml
SFDX:Lightning Web Component >> New >> lwcChild.js-meta.xml
lwcChild.js-meta.xml [LWC Meta Data XML]
1 2 3 4 5 |
<?xml version="1.0" encoding="UTF-8"?> <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>45.0</apiVersion> <isExposed>true</isExposed> </LightningComponentBundle> |
Further post that would you like to learn in LWC
Thanks For Sharing The Amazing content. I Will also share with my friends. Great Content thanks a lot.
Antikalarınız değerinde ve nakit olarak alınır.
Very Informative Article!
Hi. your post is so nice and I really loved reading your post.
It was very well authored and easy to understand. Great Thanks for sharing awesome info. I really love to read your blog.
Very Nice Post
5 Internet Approval Site (Do Follow Backlinks)