AUR0152

Error Message

AUR0152: Expression error: spread operator is not supported: "{{expression}}"

Where {{expression}} is the expression containing the spread operator (...).

Description

Aurelia’s binding expression parser does not support the JavaScript spread operator (...) inside template/binding expressions.

Example Trigger

<!-- ❌ Spread in binding expression -->
<div textcontent.bind="[...items].length"></div>
<button click.trigger="save(...args)"></button>

Solution / Workarounds

  • Move spread usage into view-model code (methods/getters).

  • Use non-spread alternatives (for example concat, slice, or explicit arguments).

export class MyVm {
  items: unknown[] = [];

  get itemsCopy() {
    return this.items.slice();
  }

  saveAll(args: unknown[]) {
    return this.saveMany(args);
  }

  private saveMany(args: unknown[]) {/* ... */}
}

Troubleshooting

  • Search your templates for ... inside ${...}, .bind, .trigger, .delegate, etc.

  • Move spread expressions into view-model functions/getters.

Last updated

Was this helpful?