Edit Page

Rendering Values


In Ember, rendering occurs via syntax, rather than by value -- so anything can be a modifier, helper, or component.

Modifiers

For Modifiers, there is a specific syntax that only modifiers may reside in

<div {{someModifier}}>

or via property on some object

<div {{this.property.someModifier}}>

or via an argument passed to a component

<div {{@someModifier}}>

Modifiers can be curried with the modifier helper:

{{! In a component called "Example" }}
{{yield (modifier someModifier "arguments" "here")}}

{{! Usage: }}
<Example as |theModifier|>
  <div {{theModifier}}>
</Example>

Helpers

For Helpers, there is a specific syntax that only helpers may reside in

{{ (theHelper) }}

or nested in a sub-expression

{{yield (hash key=(theHelper) key2=(theHelper with args)) }}

or via property on some object

{{ (this.property.theHelper) }}

or via an argument passed to a component

{{ (@theHelper) }}

Helpers can be curried with the helper helper:

{{! In a component called "Example" }}
{{yield (helper someHelper "arguments" "here")}}

{{! Usage: }}
<Example as |theHelper|>
  {{ (theHelper) }}
</Example>

Components

For Components, there is a specific syntax that only components may reside in

<AComponent />

or via a property on some object

<this.someComponent />

or via an argument passed to a component

<@someComponent />

Components can be curried with the component helper:

{{!
  In a component called "Example".
  Note that components may only receive named arguments
}}
{{yield (component someComponent foo="arguments" bar="here")}}

{{! Usage: }}
<Example as |theComponent|>
  <theComponent />
</Example>