Aura Components vs. Lightning Web Components - Controllers

DEX602 - Unit 2 Introducing Lightning Web Components

📄 第 58 页 🎬 视频课程

课程章节介绍

今天我们来聊聊Salesforce中的Aura Components和Lightning Web Components(LWC)的控制器部分。我会尽量用简单易懂的方式来解释,这样你们听起来也会觉得轻松。 首先,我们来看一下LWC的控制器。在LWC中,控制器是一个ES6模块,这意味着它使用了现代JavaScript的标准。在这个模块中,我们可以直接声明变量。比如,你看到的这段代码: ```javascript import { LightningElement, track } from 'lwc'; export default class HelloBinding extends LightningElement { greeting = '世界'; change(event) { this.greeting = event.target.value; } count() { alert(this.greeting.length + ' letters'); } } ``` 这里,`greeting` 是一个变量,它被初始化为“世界”。`change` 方法用于更新这个变量的值,而 `count` 方法则用来显示这个字符串的长度。你可以看到,这些变量和方法都是直接在类中声明的,非常直观。 接下来,我们看看Aura Components的控制器。Aura的控制器写法就有点不同了。它不会直接在控制器中声明变量,而是通过组件标记来声明和获取变量。比如这段代码: ```javascript ({ count: function(component, event, helper) { let greeting = component.get("v.greeting"); alert(greeting.length + " letters"); } }) ``` 在这里,`greeting` 变量是在组件的标记中声明的,控制器通过 `component.get("v.greeting")` 来获取这个变量的值。这种方式虽然稍微复杂一点,但它提供了一种在不同组件之间共享数据的机制。 总结一下,LWC的控制器更现代,直接在类中声明变量和方法,而Aura的控制器则依赖于组件标记来管理变量。两者各有优势,选择哪一种取决于你的具体需求和项目的架构。 希望这个解释能帮助你们更好地理解Aura和LWC的控制器部分。如果有任何问题,随时提问哦!