Access Controls for Properties

DEX470 - Unit 1:Create a Hello World Lightning Web Component

📄 第 19 页 🎬 视频课程

课程章节介绍

让我们来聊聊在Salesforce中,特别是在Apex和Lightning Web Components(LWC)中,如何控制属性的访问。 首先,在Apex中,我们使用访问修饰符来明确控制类成员和方法的访问权限。这些修饰符包括私有(private)、受保护(protected)、公共(public)和全局(global)。私有成员只能在定义它们的类内部访问,受保护的成员可以在子类中访问,公共成员可以在任何地方访问,而全局成员则可以在任何命名空间中访问。 然而,在JavaScript中,特别是在LWC中,我们并不使用这些显式的访问修饰符。相反,属性的访问控制是通过装饰器和``标签的值来共同决定的。例如,如果你想让一个属性仅在组件内部可用,你可以不使用任何装饰器或者使用`@track`装饰器。如果你想让一个属性可以从父组件传递过来,你可以使用`@api`装饰器,并且将这个属性设置为`true`。 此外,如果你想让你的组件可以在App Builder中使用,你需要将``设置为`true`。这样,你的组件就会成为全局组件,并且可以在App Builder和其他目标中使用。 但是,有一个重要的警告需要注意:自定义的Lightning Web组件不能访问自定义命名空间中的其他Lightning Web组件或模块。它们只能访问`c`和`Lightning`命名空间中的组件和模块。这意味着,即使你使用了自定义命名空间,你也不能从你自己的LWC中实例化这些组件。 希望这些信息能帮助你更好地理解在Salesforce中如何控制属性的访问。如果你有更多问题,或者需要更详细的解释,请随时提问!