emberjs ember create component bubbling ember.js mustache

ember.js - create - ember onclick



Escribir un ayudante que produce resultados vinculados? (3)

Tengo un helper de formateo de fecha / hora, pero lo que produce no se actualiza cuando cambia la propiedad subyacente. Esto no es una sorpresa, pero ¿alguien sabe cómo producir enlaces en ayudantes?

Invoco al ayudante así ...

{{timestamp created_at}}

... y aquí está el ayudante mismo:

Handlebars.registerHelper(''timestamp'', function(context, options) { var formatter = options.hash[''format''] ? options.hash[''format''] : ''hh:mm a MM-DD-YYYY''; var original_date = Ember.getPath(this, context); // same as this.get(context) ? var parsed_date = moment(original_date); var formatted_date = parsed_date.format(formatter); return new Handlebars.SafeString("<time datetime=" + original_date +">" + formatted_date + "</time>"); });


Desafortunadamente es más complejo de lo que me gustaría crear un ayudante personalizado con contenido enlazado. Aquí hay un ejemplo que Peter Wagenet escribió: https://gist.github.com/1563710

Presionaré para que esto sea más fácil.


No estoy seguro de si esto se aplica a esta pregunta en particular, pero también creé helpers en vistas y quería que los valores se actualizaran cuando cambiaran los datos en la vista de Ember.js. La forma en que resolví este problema fue escribir un observador sobre los valores que quería cambiar y usé jQuery para actualizar el valor específico.

Por ejemplo (en Coffeescript):

... attrObserver: Ember.observer(() -> $("#attrId").text(this.get("attr")) ...


Ahora es posible crear ayudantes de manubrio vinculados usando una API de Ember pública.

Handlebars.registerBoundHelper(''timestamp'', function(date, options) { var formatter = options.hash[''format''] ? options.hash[''format''] : ''hh:mm a MM-DD-YYYY''; var parsed_date = moment(date); var formatted_date = parsed_date.format(formatter); return new Handlebars.SafeString("<time datetime=" + date +">" + formatted_date + "</time>"); });

El parámetro pasado al ayudante ya se habrá resuelto, y el asistente se volverá a llamar cada vez que cambie la ruta.