AUR0227
Error Message
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).
Description
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).
Example Trigger
export class MyVm {
items = ['b', 'a'];
// ❌ Mutates state during evaluation (Array.prototype.sort is in-place)
get sortedItems() {
return this.items.sort();
}
}Correct Usage
Make computed getters pure (no side effects / no mutation). Use non-mutating operations or compute elsewhere.
Troubleshooting
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?