Ember uses the Handlebars templating library for your app's user interface. Handlebars templates contain static HTML and dynamic content. It uses data-bindings for dynamic contents.
For more details you can check ember documentation: Handlebar Documentation
Helpers
: Helpers are functions that are designed to help you control the way your data is rendered by the template in the browser for the client to view. Helpers helps you to add additional functionality to your templates beyond what is included out-of-the-box in Ember. Helpers are most useful to transform raw values from models and components into a format more appropriate for your users.
Handlebar provides multiple helpers like if
, unless
, get
, each
, link-to
, input
. It also provides development helpers like log
and debugger
. Each one is explained nicely in documentation link above.
As a programmer we have habit of using truth helpers wherever it is necessary. But one thing to mention here is handlebar do not have its own truth helpers. Thus we need to write our own custom truth helpers which will solve our problem.
You can add helper file with ember generate. ember generate helper js-or
.
import Ember from "ember";
export default Ember.Helper.helper(function([a, b]) {
return a || b;
});
We can use it in template as :
{{js-or a b}}
This way we can add other custom truth helpers in ember and use it in handlebars.
This is how you can add custom truth helpers. You can also use ember-truth-helpers plugin for same purpose.
Thanks.