template link emberjs ember component ember.js htmlbars

ember.js - link - emberjs input



Ayudante roto en Ember 1.10 (1)

De hecho, logré encontrar una manera de hacerlo, así que escribiré la respuesta para mi propia pregunta ...

En lugar de utilizar hacks no documentados, utilicé el cambio propuesto: https://github.com/emberjs/ember.js/issues/10295

Entonces mi ayudante se ve así ahora:

Ember.Handlebars.registerBoundHelper(''isSame'', function(value1, value2) { return value1 === value2 });

y el uso:

{{#if (isSame property "value")}} {{some-other-component}} {{else if (isSame property "otherValue"}} something other... {{else}} something other... {{/if}}

Estaba usando un asistente personalizado de barras para extender la funcionalidad del bloque ''if''.

En Ember 1.10 esto ya no funciona, ya que no hay ninguna propiedad Ember.Handlebars.bind que permitiera el enlace a la propiedad ....

Ember.Handlebars.registerHelper(''ifCond'', function (a, b, options) { return Ember.Handlebars.bind.call(options, contexts[0], a, options, true, function(result) { return result === b }); });

El uso sería:

{{#ifCond property "value"}} {{some-other-component}} {{else}} something other... {{/ifCond}}

pero esto devuelve un error "No se puede leer la propiedad ''llamada'' de indefinido"

¿Hay alguna forma de enlazar las propiedades pasadas en helper? No puedo usar registerBoundHelper porque no admite tener bloques secundarios ... Quería usar Component en lugar de helper, pero luego no puedo usar el bloque {{else}} ...

Esta solución para el ayudante se tomó previamente del operador lógico en un handlebars.js {{#if}} condicional