How i can migrate this code to Lightning web component:

<div id="totalAccounts"></div> 
                        document.getElementById('totalAccounts').innerHTML = result;


Apex Method:

public static Integer getRemoteTotalAccounts() {
     return [Select count() FROM Account];

Base publication: OutputText value calling a @readOnly method


Take a look at the wire method examples with apex methods here

Basically, would make the apex method aura enabled by adding:


You would 'wire' that method to the component via import e.g.

import getRemoteTotalAccounts from '@salesforce/apex/YOUR_CONTROLLER_NAME.getRemoteTotalAccounts';

And then in the LWC, the wire method will bind the result to a property/function that you can expose on the page

 @wire(getRemoteTotalAccounts ) contactcount;
  • If I need more than 50 thousand records the @wire will bring them without problem? – Alex M. May 27 '19 at 12:31
  • That I don't know - as far as I know, the limits with aura cacheable are the same as they were with VF, but not sure if the VF ReadOnly mode is the same with cacheable – BritishBoyinDC May 27 '19 at 12:54
  • @AlexM. It's irrelevant in recent releases; the way COUNT works has been changed. – sfdcfox May 27 '19 at 14:06

You can use apex method directly, no need to use remote action.

Write @auraEnabled method in Apex.

public static Integer getRemoteTotalAccounts() {
    return [Select count() FROM Account];

Import method in Lwc.

import getRemoteTotalAccounts from '@salesforce/apex/Classname.getRemoteTotalAccounts';

Wire method in js.

@wire(getRemoteTotalAccounts) result;

Use result in HTML like {result.data};

Not the answer you're looking for? Browse other questions tagged or ask your own question.