ember/template-no-dynamic-subexpression-invocations
April 12, 2026 · View on GitHub
Disallow dynamic helper invocations.
Dynamic helper invocations (where the helper name comes from a property or argument) make code harder to understand and can have performance implications. Use explicit helper names instead.
Rule Details
This rule disallows invoking helpers dynamically using this or @ properties.
Examples
Incorrect ❌
<template>
{{(this.helper "arg")}}
</template>
<template>
{{(@helperName "value")}}
</template>
Correct ✅
<template>
{{format-date this.date}}
</template>
<template>
{{(upper-case this.name)}}
</template>
<template>
{{this.formattedData}}
</template>
{{! Body-position dynamic helpers are allowed }}
<template>
{{this.formatter this.data}}
</template>