Salesforce ワイヤサービスを使ってApexメソッドを呼び出す
環境
Salesforce Apex
概要
Apex メソッドがキャッシュ可能で (データを変更しない) 場合は、
ワイヤーサービスを使用してコンポーネントから呼び出すことができます。
このメソッドには @AuraEnabled(cacheable=true) アノテーションを付加する必要があります。
1.TestAccountController Apex コントローラーの定義
public with sharing class TestAccountController {
@AuraEnabled(cacheable=true)
public static List<Account> getAccounts(){
return [SELECT Id,Name FROM Account WHERE AnnualRevenue >10000];
}
}
public with sharing class TestAccountController {
@AuraEnabled(cacheable=true)
public static List<Account> getAccounts(){
return [SELECT Id,Name FROM Account WHERE AnnualRevenue >10000];
}
}
public with sharing class TestAccountController { @AuraEnabled(cacheable=true) public static List<Account> getAccounts(){ return [SELECT Id,Name FROM Account WHERE AnnualRevenue >10000]; } }
2.JavaScriptコード
ワイヤーサービスを使用して Apex getAccounts() メソッドをコールします。
import { LightningElement, wire} from 'lwc';
// インポートする@AuraEnabledメソッド
import getAccounts from '@salesforce/apex/TestAccountController.getAccounts'
export default class HelloApexAccounts extends LightningElement {
accounts=[];
//ワイヤーサービスを利用
@wire(getAccounts,{})
wiredAccounts({error, data}){
if(error) {
this.error = error;
} else if(data){
this.accounts = data;
}
}
}
import { LightningElement, wire} from 'lwc';
// インポートする@AuraEnabledメソッド
import getAccounts from '@salesforce/apex/TestAccountController.getAccounts'
export default class HelloApexAccounts extends LightningElement {
accounts=[];
//ワイヤーサービスを利用
@wire(getAccounts,{})
wiredAccounts({error, data}){
if(error) {
this.error = error;
} else if(data){
this.accounts = data;
}
}
}
import { LightningElement, wire} from 'lwc'; // インポートする@AuraEnabledメソッド import getAccounts from '@salesforce/apex/TestAccountController.getAccounts' export default class HelloApexAccounts extends LightningElement { accounts=[]; //ワイヤーサービスを利用 @wire(getAccounts,{}) wiredAccounts({error, data}){ if(error) { this.error = error; } else if(data){ this.accounts = data; } } }