Newer Version Available
Subscribe to a Message Channel
To subscribe to a message channel, create a handler method to run when it receives a
message.
In this example, we define an Aura component called myNewComponent that contains the custom message channel, SampleMessageChannel__c. The lightning:messageChannel component's onMessage attribute is set to the expression "{!c.handleChanged}", which registers the listener handleChanged.
1<!-- myNewComponent.cmp -->
2<aura:component>
3 <aura:attribute name="recordValue" type="String"/>
4 <lightning:formattedText value="{!v.recordValue}" />
5 <lightning:messageChannel type="SampleMessageChannel__c"
6 onMessage="{!c.handleChanged}"/>
7</aura:component>1// myNewComponentController.js
2({
3 handleModelChanged: function(cmp, message, helper) {
4 // Read the message argument to get the values in the message payload
5 if (message != null && message.getParam("recordData") != null) {
6 cmp.set("v.recordValue", message.getParam("recordData").value);
7 }
8 }
9})Write the handler in your component's controller file. The handleChanged method fires when there is a new message. It checks whether there is a payload in the message, and if so, assigns the new data to the v.recordValue attribute. The lightning:formattedText element updates to display the new value.