Ember.js: No se puede utilizar el componente de entrada con el asistente de componente

Creado en 17 mar. 2016  ·  3Comentarios  ·  Fuente: emberjs/ember.js

Intentando usar el componente input con el componente auxiliar, así:
passedComponent=(component 'input' type="number" value=myValue)

resultará en un error de afirmación como este:
Uncaught Error: Assertion Failed: You cannot use 'input' as a component name. Component names must contain a hyphen

Comentario más útil

la implicación, por lo tanto, es que el componente input debe cambiarse de nombre, lo que obviamente no es práctico, o, alternativamente, debería estar disponible un contenedor estándar con guiones.

no poder usar un componente estándar (incorporado) con el asistente de componente parece una restricción bastante extraña y arbitraria

Todos 3 comentarios

@stevesims esto es correcto. Actualmente no es posible crear un componente de cierre con input . La justificación está algo ligada a Glimmer Components, queremos reservar el nombre input para esos.

Vamos a cerrar esto por ahora ya que no es un error, pero podemos volver a abrir y continuar la discusión.

la implicación, por lo tanto, es que el componente input debe cambiarse de nombre, lo que obviamente no es práctico, o, alternativamente, debería estar disponible un contenedor estándar con guiones.

no poder usar un componente estándar (incorporado) con el asistente de componente parece una restricción bastante extraña y arbitraria

{{#if requiresComponentSubstitution}}  

      <!-- requiresComponentSubstitution: is not "input" -->

        {{component inputComponentName
                    id=(concat elementId '-control')
                    class='form-control'
                    type=type
                    name=valuePath
                    placeholder=placeholder
                    value=value
                    input=(action 'onInput')
        }}
    {{else}}
        {{input id=(concat elementId '-control')
                class='form-control'
                type=type
                name=valuePath
                placeholder=placeholder
                value=value
                input=(action 'onInput')
        }}
    {{/if}}

Estoy ofreciendo esto como una solución útil y sutilmente sugiriendo que es un inconveniente de usar Ember. Sería fantástico si "simplemente funcionara" :)

¿Fue útil esta página
0 / 5 - 0 calificaciones