emberjs ember create component bubbling ember.js handlebars.js

ember.js - ember - ¿Cómo desencadenar una acción cuando una entrada obtiene el foco?



ember onclick (2)

Resultó ser más simple de lo que pensaba ...
Solo tuve que escribir {{input class="form-control" placeholder="search..." value=s focus-in="focus"}} en mi plantilla

Quiero saber cómo activar una acción cuando se enfoca una entrada.
ahora estoy usando esto en mi plantilla: {{view "clickinput" class="form-control" placeholder="search..." value=s action="focus"}}
y esto como la vista:

export default Ember.TextField.extend({ onEvent: ''focusIn'', focusIn: function() { this.sendAction(''focusIn'', this, event); } });

y esto en mi controlador:

actions: { focus: function() { alert(''f''); } }

pero no funciona ..
Uncaught Error: Assertion Failed: The focusIn action was triggered on the component <appkit@view:clickinput::ember438>, but the action name (function superWrapper() { var ret, sup = this.__nextSuper; this.__nextSuper = superFunc; ret = func.apply(this, arguments); this.__nextSuper = sup; return ret; }) was not a string. este error en chrome: Uncaught Error: Assertion Failed: The focusIn action was triggered on the component <appkit@view:clickinput::ember438>, but the action name (function superWrapper() { var ret, sup = this.__nextSuper; this.__nextSuper = superFunc; ret = func.apply(this, arguments); this.__nextSuper = sup; return ret; }) was not a string. : Uncaught Error: Assertion Failed: The focusIn action was triggered on the component <appkit@view:clickinput::ember438>, but the action name (function superWrapper() { var ret, sup = this.__nextSuper; this.__nextSuper = superFunc; ret = func.apply(this, arguments); this.__nextSuper = sup; return ret; }) was not a string.

¿por qué?


Utilicé tu respuesta como punto de partida, ¡gracias! Esto es lo que funcionó para mí:

Estadísticas de Ember:

DEBUG: ------------------------------- DEBUG: Ember : 1.7.1 DEBUG: Ember Data : 1.0.0-beta.11 DEBUG: Handlebars : 1.3.0 DEBUG: jQuery : 2.1.3 DEBUG: Model Fragments : 0.2.7 DEBUG: -------------------------------

Mis funciones genéricas, llamo functions.js

Ember.TextField.reopen({ attributeBindings: [''data-stripe''], focusIn: function() { return this.sendAction(''focus-in''); } });

Mi controlador

actions: { focusField: function() { debugger; } }

Plantilla My Handlebars

{{input focus-in="focusField" type="tel" maxlength="20" data-stripe="number" placeholder="Card Number" value=input.number autocomplete="cc-number"}}