У меня есть требование отображать карту в Salesforce lightning. У меня есть местоположения, обозначенные в lightning:map
, и onclick
значка местоположения появляется описание. Мне нужна ссылка внутри описания места. Проблема здесь в том, что он понимает только HTML и Javascript, но не понимает код молнии Salesforce. Вот простой пример:
<aura:component>
<!-- attributes -->
<aura:attribute name="mapMarkers" type="Object"/>
<aura:attribute name="center" type="Object" />
<aura:attribute name="markersTitle" type="String" />
<aura:attribute name="showFooter" type="Boolean" />
<aura:attribute name="selectedMarkerValue" type="String" default="SF1" />
<aura:handler name="init" value="{! this }" action="{! c.init }"/>
<lightning:map
mapMarkers="{! v.mapMarkers }"
showFooter="{ !v.showFooter }"
onmarkerselect="{!c.handleMarkerSelect}"
selectedMarkerValue="{!v.selectedMarkerValue}"
listView="hidden"
markersTitle="{! v.markersTitle }">
</lightning:map>
</aura:component>
Контроллер:
({
init: function (cmp, event, helper) {
cmp.set('v.mapMarkers', [{
location: {
Street: '415 Mission St',
City: 'San Francisco',
State: 'CA'
},
title: 'Salesforce Tower',
description: 'San Francisco\'s tallest building<br><b onclick="{!c.goToSomeComponent(cmp, event, helper)}">Detail</b>'
}]);
cmp.set('v.markersTitle', 'Salesforce locations in United States');
cmp.set('v.showFooter', true);
},
handleMarkerSelect: function(component, event, helper) {
var selectedAccountId = event.getParam("selectedMarkerValue");
},
goToSomeComponent: function(component, event, helper) {
alert('Controler');
// Navigate code
}
});
В описании я добавил полужирный тег, при нажатии на который он должен вызывать goToSomeComponent (). Это дает мне следующую ошибку:
Uncaught ReferenceError: c is not defined
at HTMLElement.onclick (mapsloader?resource=primitiveMap&version=224:1)
onclick @ mapsloader?resource=primitiveMap&version=224:1
Как можно вызвать методы контроллера молнии из HTML / Javascript кода?
Я в порядке, если во всем поле описания есть click событие вместо добавления ссылки внутри описания.