我建立了一个简单的组件来显示联系信息。但是,它没有显示在页面中。不知道发生了什么事?
我已经检查了顶点控制器是否正确返回了联系。但是,该组件未使用接收到的联系人对象进行渲染。
<aura:application >
<aura:attribute name="contactId" type="String"/>
<c:PreferenceComponent contactId="{!v.contactId}"/>
</aura:application>
<aura:component controller="PreferenceComponentCtrlr">
<aura:attribute name="contactId" type="String"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
<lightning:card variant="Narrow" title="{!v.contact.Name}"
iconName="standard:contact">
<p class="slds-p-horizontal_small">
{!v.contact.Phone}
</p>
<p class="slds-p-horizontal_small">
{!v.contact.MailingStreet}
</p>
</lightning:card>
</aura:component>
({
doInit : function(component, event, helper) {
var action = component.get("c.getContact");
action.setParams({
contactId : component.get("v.contactId")
});
action.setCallback(this, function(response) {
var state = response.getState();
if (state === 'SUCCESS'){
component.set("v.contact", response.getReturnValue());
}
});
$A.enqueueAction(action);
}
})
public class PreferenceComponentCtrlr {
@AuraEnabled
public static Contact getContact(Id contactId) {
System.debug('contactId - ' + contactId);
return [Select Id, Name, Phone, MailingStreet From Contact Where Id =: contactId LIMIT 1];
}
}
答案 0 :(得分:0)
我找到了答案,我需要将Contact属性添加到组件中,
<aura:attribute name="contact" type="Contact"/>