Template references
Declaring Template References
Basic Usage: Referencing DOM Elements
<input type="text" ref="firstNameInput" placeholder="First name">Accessing References in Templates
<p>You are typing: "${firstNameInput.value}"</p>Accessing References in View Models
import { customElement } from 'aurelia';
@customElement({ name: 'my-app', template: `<input type="text" ref="firstNameInput" placeholder="First name">` })
export class MyApp {
firstNameInput: HTMLInputElement; // Explicitly typed template reference
bound() {
// 'firstNameInput' is now available after the view is bound
console.log('Input element reference:', this.firstNameInput);
}
focusInput() {
if (this.firstNameInput) {
this.firstNameInput.focus(); // Programmatically focus the input element
}
}
}Advanced Usage: Referencing Components and Controllers
1. component.ref: Referencing Custom Element Instances (View Models)
component.ref: Referencing Custom Element Instances (View Models)2. custom-attribute.ref: Referencing Custom Attribute Instances (View Models)
custom-attribute.ref: Referencing Custom Attribute Instances (View Models)3. controller.ref: Referencing Aurelia Controller Instances (Advanced)
controller.ref: Referencing Aurelia Controller Instances (Advanced)Practical Applications and Benefits
Last updated
Was this helpful?