Aura Components vs. Lightning Web Components - Controllers

DEX601 - Unit 9 Introducing Lightning Web Components (Optional Unit)

📄 第 612 页 🎬 视频课程

课程章节介绍

今天我们来聊聊Salesforce中的Aura Components和Lightning Web Components(LWC),特别是它们的控制器部分。我会尽量用简单易懂的语言来解释,这样你听起来也会觉得轻松。 首先,我们来看一下你提供的代码片段。这段代码展示了LWC和Aura Components在控制器部分的一些区别。 ### LWC 控制器部分 ```javascript import { LightningElement, track } from 'lwc'; export default class HelloBinding extends LightningElement { @track greeting = "World"; change(event) { this.greeting = event.target.value; } count() { alert(this.greeting.length + " letters"); } } ``` 在这段LWC代码中,我们定义了一个名为`HelloBinding`的组件。这个组件有一个`greeting`属性,初始值是"World"。我们使用`@track`来标记这个属性,这样当它的值发生变化时,UI会自动更新。 - `change(event)`方法会在用户输入时被调用,更新`greeting`的值。 - `count()`方法会弹出一个提示框,显示`greeting`的长度。 ### Aura Components 控制器部分 ```javascript ({ count: function(component, event, helper) { var greeting = component.get("v.greeting"); alert(greeting.length + " letters"); } }) ``` 在Aura Components中,控制器的写法有些不同。我们定义了一个`count`函数,它通过`component.get("v.greeting")`来获取`greeting`属性的值,然后弹出一个提示框显示它的长度。 ### 主要区别 1. ,语法,:LWC使用了ES6的语法,比如`import`、`export`、`class`等,而Aura Components使用了更传统的JavaScript语法。 2. ,数据绑定,:在LWC中,我们使用`@track`来标记需要跟踪的属性,而在Aura Components中,我们使用`component.get`和`component.set`来访问和修改属性。 3. ,事件处理,:LWC中直接使用`event.target.value`来获取输入值,而在Aura Components中,通常需要通过事件参数来获取。 ### 总结 LWC和Aura Components在控制器部分的写法有一些不同,但它们的核心思想是相似的:处理用户输入、更新数据、响应事件。LWC更现代化,语法更简洁,而Aura Components则更传统一些。 希望这个解释对你有帮助!如果你有任何问题,随时问我。