Need an App Development Quote? Submit your requirement in few steps and get estimation in just 12 Hours

Click Here!

How To Call Apex Method In Lightning Web Components – Salesforce

Fetching data from the server is one of the most crucial steps in any software development. Therefore, while creating a Lighting Web Component, we may need to connect our Apex classes. We will discover how to call Apex in LWC in this article.

We have several options for doing this.

  1. Receiving data streams via wire services
  2. Use the imperative method call.

Initially, we must take the procedures listed below to expose any Apex method in the Lightning Web Component.

  1. Add the annotation @AuraEnabled to the method. Put it to use on level 2 of the method, which should be static.
  2. Must be public or international

After building this apex class, import it using the code in your component’s javascript file.

@AuraEnabled(cacheable=true)
public static List getRecord() {
//return records;
}

Call Apex Method Using Wire Service

Syntax is:
import apexMethod from '@salesforce/apex/Namespace.Classname.apexMethod';
@wire(apexMethod, { apexMethodParams })
propertyOrFunction;

To further understand this, consider the scenario where we wish to retrieve the contact list in LWC.

Given below is what we have in In Component js file

import { LightningE1ement,
import getContactLis± from
wire from 'Iwc';
ales force/ apex/ContactAssist. get Contac±List
export default class ContactListLWC extends LightningElement {
contacts;

Here –
ContactAssist- Apex class name
getContactList – Method Name

What we have in the component HTML File

<template>
<lightning-card title="Contacts From Apex" icon-name="custom:custom63">
<div class="slds-m-around_medium">
<template if:true={contacts.data}>
<template for:each={contacts.data} for:item="con">
<p key={con.Id}>{con.Name}</p>
</template>
</template>
<template if:true={contacts.error}>
{contacts.error}
</template>
</div>
</lightning-card>
</template>

This line begins with the template if:true=”contacts.data”>. You’ve declared a variable called contacts in your js file and bound it to the data stream. It has two index options. One is data if the apex call is successful, while the other is an error. Similar to how you wire a variable, a function can return both data and an error.

Call Apex Methods Imperatively

In your HTML file use, this contacts variable.

import { LightningElement, track } from 'lwc';
import getContactList from '@salesforce/apex/ContactHelper.getContactList';
export default class ContactListLWC extends LightningElement {
@track contacts;
@track error;
handleLoad() {
getContactList()
.then(result => {
this.contacts = result;
})
.catch(error => {
this.error = error;
});
}
}

Here getContactList is a method written in apex class.
In your HTML file use, this contacts variable.
<template>
<lightning-card title="Contact List ImperativeCall" icon-name="custom:custom63">
<div class="slds-m-around_medium">
<p class="slds-m-bottom_small">
<lightning-button label="Load Contacts" onchange={handleLoad}></lightning-button>
</p>
<template if:true={contacts}>
<template for:each={contacts} for:item="con">
<p key={con.Id}>{con.Name}</p>
</template>
</template>
<template if:true={error}>
{error}
</template>
</div>
</lightning-card>
</template>

By looking at the aforementioned classes and code, you may get a quick notion of calling the apex function in the lightning web component. We may quickly contact the apex method and obtain the information needed to complete the specific tasks by using the ways to do so.

Dedicated Developers team
THE AUTHOR
Managing Director
WebisteFacebookInstagramLinkedinyoutube

Arun Goyal is a tech enthusiast and experienced writer. He's known for his insightful blog posts, where he shares his expertise gained from years in the tech industry. Arun shares his knowledge and insights through engaging blog posts, making him a respected figure in the field.

Previous Post Next Post

Octal In The News

Octal IT Solution Has Been Featured By Reputed Publishers Globally

Let’s Build Something Great Together!

Connect with us and discover new possibilities.

    Gain More With Your Field Service

    We’re always keeping our finger on the pulse of the industry. Browse our resources and learn more.

    Let's schedule a call
    Mobile App Development Mobile App Development
    error: Content is protected !!