 Hello, everyone. In this module, we are going to see how we can implement unbounded expressions. So in one of the previous module, I demonstrated you how to create expressions. So let's first understand data binding between components. So we can add a component in markup of another component, also known as container component. So if you have two components, so you can call or add one component into another component. So one component will be treated as parent and another will be as child. So we can use an expression to initialize attributes, attribute values in the component based on attribute values of the container component. There are two form of expression syntax which exhibit different behaviors for data binding between the components. So the two ways for data bindings are unbounded expression and another one is bounded expression. So the difference is in unbounded expression, you need to use hash and in bounded expression, you need to use exclamation mark. So in this module, I will demonstrate how you can implement unbounded expression with the help of an example. And in upcoming module, you will see the demonstration related to bounded expression. So let's first see example on the slide only then I will be implementing it in developer console. So in this example, we have this parent component. So one attribute is available whose name is parent attribute type is string and its default value is parent attribute, right? Now, here we are adding child component. So name of child component is child. Then child component will be having one attribute named as child attribute. And this way we are passing value of parent attribute into child attribute. So if you want to add one component into another, so this is the way. Now, if we use hash V dot parent attribute, so this is an unbounded expression. Any change to the value of the child attribute in child does not affect the parent attribute attribute in parent and vice versa, right? So it means if you modify child attribute variable in child component, then it won't update parent attributes value. And if you update parent attributes value in parent component, so it won't affect child attribute, right? So both are not connected if you update the values of one, so another won't be updated automatically. So that's why it is known as unbounded expression. So now jumping into developer console. So here I'm going to create one component. So I'm going to name it as unbounded child component, right? So this component is created now here. I'm going to create one attribute. So I'm going to name it as child attribute or maybe child variable. So its type will be string. Now here I'm going to display its value. So child value then colon and I'm going to use exclamation V dot child variable, right? So in this child component, this child variable, which is the attribute, its value will be displayed and will be rendered on the UI. Now creating a button. Its label will be update child variable on click off this. I'm going to call a function so C dot update child variable. Right, so this is a function that I implemented. Sorry, I called now I need to implement this in controller. And after this I'm going to use this horizontal rule. Right, so whatever value will be available in this child variable that will be rendered on the UI using this expression. And if I click on this button like a label of that button will be update child variable. So once we click on that button this update child variable method will be called automatically. Now I'm saving this and clicking on controller. So in controller we need to implement this method. So I'm copying its name and pasting it here. Now here I'm going to set value so component dot set V dot child variable. Here I'm writing updated child attribute. Right, so here in this controller we updated the value of child where attribute. Right, so this child component is ready. Now it's time to create parent component. So creating unbounded parent. So in this unbounded parent component, we need to create some attributes. Right, so I'm creating attribute its name will be parent variable or parent where type will be string. And here we are putting default value parent where or parent value. Right, so this way. I created this attribute. Right now in this parent component. In this parent component I need to call that unbounded child component. So I'm writing unbounded child. Then child where so in unbounded child component here you can see child where attribute is available. So I'm using it here and I will be passing value of parent attribute. Its name is parent where here. So using hash V dot then this attribute curly base double quotes and closing this so this way here you can see like we added child component in parent component. Right, so when we will be adding this parent component on the application. So first it will display the result of this child component whatever is available in this child. Right, and this parent value parent where attribute value will be passed into child variable. Now here I am writing parent value and V dot parent where so parent where attributes value will be displayed so now this code is part of parent itself. And here I am going to add a lightning button. So lightning button it's label will be update parent variable on click equals to see dot update parent where right and here I'm using horizontal rolling. So this way I implemented this unbound parent component now we need to implement its definition. So update parent variable. This is the function name. So I'm clicking on controller. And here I'm pasting this. Right now here we can write component dot set. Then V dot parent variable and inside this double quotes we need to put the values. Right. So here I'm putting updated parent attribute. And saving this code. Now I'm going to open our application. So demo application. And here we need to use unbounded parent component. So we will be rendering parent component only. And you will see both child and parent result will be available on the UI. So I'm clicking on preview. So here you can see child value. And then it is showing parent value and then button. So let me just shift the button in the new line. So for that I'm going to use be at that twice copying this and putting here as well. Right. So now what is happening. So let me refresh it once. Okay. I didn't save that. So I'm saving it. Doing a refresh again. Now everything is set. So here you can see first output is child value. Then it is showing parent value. So actually this component rendered and it is like adding child component here. So child component will be rendered. And we are passing value of parent attribute into child attribute. So here you can see default value is parent value. So this child where attribute will be receiving parent value. Right. So here this child where attribute is having nothing. Still it will display some value passed by the parent component. So now you can relate. It is displaying child value colon and then parent value in the first line. Right. So this parent value is passed through parent component to child component. Now this button is displayed which is showing update child where. So label is available here. Then we have this masses parent value colon parent value. So it is because of this line. Right. It is showing this plain text and then value of this attribute. And it is having default value here. Then this button is available, which is having label as update parent value. So if you come here, so here you can see the label is same. Now if I click on this button update child where so only this child attributes value will be replaced and it will display new value. If I click on update parent where so it will be updating parent attribute only and this value will be updated. So if I click here so you can see updated child attribute. So if I take you here so we updated child where attribute with this value that is being displayed on the browser. Now if I click on this button so it is just updating this value updated parent attribute. So this we are updating in the parent components controller here in this statement. Right. So I hope you understood how this unbounded expression is working like if we are updating child attribute so parent attribute is not updating if we are updating parent attribute then child attribute is not updating. That's why this like relation is known as unbounded expression. Now if you want like if you update parent where in parent component, and if you have passed its value into child attribute, then on updation of parent where child where should be updated. So in that case, you have to use bounded expressions right so that I will be demonstrating in next module. So if I take you back on this slide so I hope now you can understand this any change to the value of the child attribute. This is the attribute name attribute in child does not fix the parent attribute. This is attribute name so attribute in parent and vice versa. So this is all about unbounded expressions. Thank you.