ember.js - How do I translate #if type handlebars helpers from ember 1.7 to ember-cli (2.3) -


i have registered handlebars helper in ember1.7 right now.

var = ember.handlebars.get; ember.handlebars.registerhelper('ifcond', function(val1, val2, options) {     var context = (options.fn.contexts && options.fn.contexts[0]) || this;     var val1 = get(context, val1, options.fn);     if (val1 == val2) {         return options.fn(this);     } else {         return options.inverse(this);     } }); 

the idea pretty simple: take first parameter context property, second parameter actual value, , return boolean based on equality. so, example, if have property age on object user,

{{#ifcond user.age "22" }}   <h2> twin twos!</h2> {{/ifcond}} 

would snippet use render h2 element when condition fulfilled.

however, cannot figure out how translate such helper ember-cli.

i've considered making component, need conditional, not renders specific set of dom elements. feel i'm missing something. how able make {{#ifcond}} work in ember 2.3?

edit: found helper creation doc let me implementation:

import ember 'ember';  export function ifcond(params/*, hash*/) {     return (params[0] === params[1]);   // return params; }  export default ember.helper.helper(ifcond); 

however, work, have write (in template)

{{#if (ifcond 1 1)}}   yep {{/if}} 

is there still way use handlebar helper in ember 1.7 ?

first of there no more block helpers:

legacy handlebars helpers removed in favor of ember.helper api. api not provide mechanism helpers take block, introduce support nested helpers can used in concert built-in helpers (like {{#if}} , {{#each}}) achieve same ends.

it recommended use helpers did in example ({{#if (ifcond 1 1)}}). if decide go route recommend using ember-truth-helpers addon. using can throw out own helper , use this:

{{#if (eq user.age "22") }}   <h2> twin twos!</h2> {{/if}} 

i find truth helpers flexible , easy understand , recommend using them.

alternatively if want simulate old helper need use component that, i've made twiddle illustrate how it.


Comments

Popular posts from this blog

Receive udp packets in android gstreamer -

php - Extract Text from HTTP referer -

matplotlib - PYTHON: Annotate boxes disapear dependant on range -