AUR0227
Last updated
Was this helpful?
AUR0227: Side-effect detected in computed getter '{{getter}}': mutation during evaluation caused self-dirtying. This can lead to infinite recursion. Use non-mutating operations (e.g., spread syntax) or move side effects outside the getter.
Where {{getter}} is the computed getter name (for example get total).
This error occurs when a computed getter (a getter tracked by Aurelia’s observation system) mutates state while it is being evaluated. Mutations during evaluation can “self-dirty” the computed observer and cause repeated re-evaluation (potentially an infinite loop).
export class MyVm {
items = ['b', 'a'];
// ❌ Mutates state during evaluation (Array.prototype.sort is in-place)
get sortedItems() {
return this.items.sort();
}
}Make computed getters pure (no side effects / no mutation). Use non-mutating operations or compute elsewhere.
Identify the computed getter from {{getter}} in the message.
Look for in-place mutations inside the getter (for example sort, reverse, push, splice, ++, assignments).
Move side effects to explicit actions (methods/event handlers) or effects/watchers, and keep the getter as a pure derivation.
Last updated
Was this helpful?
Was this helpful?
export class MyVm {
items = ['b', 'a'];
// ✅ Non-mutating
get sortedItems() {
return [...this.items].sort();
}
}