Decorators
The Lightning Web Components programming model has three decorators that add functionality to a property or function.
The ability to create decorators is part of ECMAScript, but these three decorators are unique to Lightning Web Components.
To expose a public property, decorate a field with @api
. Public properties define the API for a component.
See Public Properties.
To expose a public method, decorate it with @api
. Public methods are part of a component’s API. To communicate down the containment hierarchy, owner and parent components can call JavaScript methods on child components.
See Public Methods.
If a field’s value changes, and the field is used in a template or in a getter of a property that’s used in a template, the component rerenders and displays the new value. If a field is assigned an object or an array, the framework observes some changes to the internals of the object or array, such as when you assign a new value.
To tell the framework to observe changes to the properties of an object, decorate the field with @track
.
See Reactivity for Fields, Objects, and Arrays.
To read Salesforce data, Lightning web components use a reactive wire service. When the wire service provisions data, the component rerenders. Components use @wire
in their JavaScript class to specify a wire adapter or an Apex method.
See Understand the Wire Service and Call Apex Methods
See Also