$el: The Current Machine
$el refers to the current DOM element. It's like an operator pressing a diagnostic button on the machine they are currently at. The action is local to that specific machine element.
Code Example:
<button @click="runDiagnostic($el)">
Run Diagnostic
</button>
Machine Bay
$refs: Named Workstations
$refs lets you access any element marked with x-ref from anywhere within the component. It's like a central control panel that can target specific, named workstations on the assembly line, like "Welding" or "Painting".
Code Example:
<!-- The Target Workstation -->
<div x-ref="weldingStation">...</div>
<!-- The Control Button -->
<button @click="activate('weldingStation')">
Activate Welder
</button>
Control Panel
Workstations
$root: The Entire Assembly Line
$root refers to the root element of the entire Alpine component. It's like an emergency stop button that halts the entire assembly line, no matter where the button is pressed. It affects the component's outermost boundary.
Code Example:
<!-- Component's root element -->
<div x-data="assemblyLine">
...
<button @click="emergencyStop($root)">
Shutdown
</button>
...
</div>