Salesforce APIs — Lightning Data Service & Apex

DEX475 - JavaScript

📄 第 158 页 🎬 视频课程

课程章节介绍

同学们,我们今天来聊聊在 Lightning Web Components 里头怎么跟 Salesforce 数据打交道。你可能会问,这有什么讲究吗?当然有,首选工具就是 Lightning Data Service,我们简称它叫 LDS。这东西特别好用,因为它底层是搭在公共用户界面 API 上的,所以那些麻烦事,比如缓存怎么管、共享规则怎么遵守、字段级别的安全怎么控制,它都自动帮你处理好了。大部分时候,你只想对标准或自定义对象做些增删改查操作,那通过 @wire 或者命令式调用 LDS 就完全够用了。 不过,咱们也得知道它的边界。LDS 啊,它只支持 UI API 的一小部分功能。就像一把万能钥匙,能开很多锁,但不是所有门都能打开。所以,当你需要访问别的 Salesforce API,像元数据 API、工具 API,或者要执行一些复杂的多对象事务时,LDS 就有点力不从心了。这时候怎么办呢?别急,我们就得自己动手写 Apex 类了。 好,那怎么把 Apex 跟 LWC 连接起来呢?很简单,你在 Apex 方法上标一个 @AuraEnabled 注解,这就等于把它公开出来,让前端能找到。然后,在 JavaScript 里,你用 @salesforce/apex 这个范围模块把它导入进来。调用时,有两种路子:一种是通过 @Wire 反应式地调用,意思是数据一变,前端就自动刷新,很省心;另一种是直接命令式调用,就是你说调就调,控制更灵活。这取决于你的场景。 最后,你可能会想,既然用 LDS 这么方便,为啥还要绕道 Apex?因为 Apex 方法稳当啊,它跑在服务器端,安全性有保障,还能访问完整的 Salesforce API,并且支持事务操作,确保数据一致性。总之一句话,LDS 擅长日常简单操作,Apex 则是处理高难度任务的后盾。记住这个原则,你开发时就游刃有余了。

关键词

LWC Lightning Web Components Salesforce