 This time we're going from the child up to the parent, okay? So for example if I load the about page, the about page is going to pass some data up to the app component, right? Same idea. So now I'm going to start from the child component. I'll start here again from the template, okay? In this case, so I'm going to have a click event on my child template. In this case the button, when I click this button, I'm going to update the child template. This is just one example, okay? It does not always have to be in the template. You could directly open the source. That's fine too. And then it's going to update this child variable. Notice now I'm using the app output instead of input, right? Two things. You're going to create this variable called child points, whatever you want to call it. Decorate that with the output function. You need to instantiate this object as an event emitter, okay? You have to use the output and event emitter property or class to create this child property. And then it needs to pass to this emitter what type of data it is. In this case I'm being very strict, right? It must be number in this case. You cannot put strings or boolean or whatever it is. You specify that, you put inside the bracket here. If this data could be anything, then you put any here, okay? Instead of number, you put any. I showed you last week. Any takes any type. And then this is a function, a constructor function. So you put the parentheses here, nothing passed to it. And then now this object has been created. It's ready to store data. So when I create my view, I update the view, click the button, it loads this function. I'm going to change this variable. You treat it like a variable, just a variable. This variable is now an object of this type, event emitter. It's going to call a function called emit, okay? Emitted me, just going to respond or send data out to somewhere, right? To wherever it needs it. It does not know where to go either. It doesn't care where it's going. All it knows is that if you call this function, it's going to emit something. In this case, emit some points. So here I'm adding one point to this points variable, right? It's a number, type number. I'm going to send this number to a parent component. So it goes up to the view to the parent component here again. So this is the component. Now we bind that to the child point just like we did above. Notice here it's the same thing as above, similar. The difference is the parentheses, right? Remember this is a property event binding. Whereas this one here, we use a property binding. The square bracket is from parent to child. The parentheses is from the child to the parent, okay? And then now we bind this function or this property from the child. You're going to invoke a function or data, as a matter in this statement. It will be treated just like the angular event, like a variable or a function. In this case, I'm calling function in the parent source file called parent update. And I'm going to pass to that function an object called dollar event, okay? You must use it this way because one of this data is passing from the child like in this case the points will be stored in this event, right? And this event is going to pass into this function in the source. We assign that to a variable called points. And then again, I'm making a very strictly typed data of type number. This type here must match this type down here because I said so, okay? If you again, if you put any, then this will work because any will go into any type. If you strictly say number, then this recipient must also be number. And then once I receive that data, I can then update my parent's data to that new point. And then it will render on the browser somewhere on another tag which I do not show here, okay? So that's how components pass data from the child to up to the parent. A little bit convoluted here, but if you follow the arrow, it will go up the chain this way. Again, I'm trying to put color coding here so you can kind of see where things occur, right? So the output goes from the child to the parent. The input comes from the parent to the child. So we're receiving data, sending data.