Posted at

ltng:sendMessageでメッセージを送る

More than 3 years have passed since last update.


ltng:sendMessage とは

新たにイベントを作成することなく、イベント間のメッセージ送受信を行うための汎用的なイベントのようです。


実装してみた

たぶん、こんな感じで書けばいいのかと思ったんですが…


SendMessageSample.cmp

<aura:component>

<aura:handler event="lntg:sendMessage" action="{!c.handleSendMessage}" />
<ui:button press="{!c.sendMsg}" label="Send Message" />
</aura:component>


SendMessageSampleController.js

({

sendMsg : function(component, event) {
var sendMsgEvent = $A.get("e.lntg:sendMessage");
sendMsgEvent.setParams({
"message": "Hello World",
"channel": "HelloChannel"
});
sendMsg.fire();
},
handleSendMessage : function(component, event) {
console.log("message: " + event.getParam("message"))
console.log("channel: " + event.getParam("channel"))
}
})

SendMessageSample.cmpをForce.com開発者コンソールで保存すると、下記のようなエラーが発生して保存することができませんでした。

Failed to save undefined: No EVENT named markup://lntg:sendMessage found : [markup://c:SendMessageSample]: ソース

AuraDocsには記載してあるので、サポートされていないということではないと思うのですが、いまいち利用方法が分かりませんでした。

ltng:sendMessage を動かしたことがある方はやり方を教えていただけると助かります。