Tentando usar o componente input
com o auxiliar de componente, assim:
passedComponent=(component 'input' type="number" value=myValue)
resultará em uma falha de declaração como esta:
Uncaught Error: Assertion Failed: You cannot use 'input' as a component name. Component names must contain a hyphen
@stevesims isso está correto. A criação de um componente de fechamento com input
não é possível no momento. A justificativa está um tanto ligada aos componentes do Glimmer, queremos reservar o nome input
para eles.
Vou fechar isso por enquanto, pois não é um bug, mas podemos reabrir e continuar a discussão.
a implicação, portanto, é que o componente input
precisa ser renomeado - o que obviamente é impraticável - ou, alternativamente, um wrapper hifenizado padrão deve estar disponível
não ser capaz de usar um componente padrão (embutido) com o auxiliar de componente parece uma restrição um tanto estranha e arbitrária
{{#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}}
Estou oferecendo isso como uma solução alternativa útil e sugerindo sutilmente que é uma desvantagem de usar o Ember. Seria fantástico se "funcionasse" :)
Comentários muito úteis
a implicação, portanto, é que o componente
input
precisa ser renomeado - o que obviamente é impraticável - ou, alternativamente, um wrapper hifenizado padrão deve estar disponívelnão ser capaz de usar um componente padrão (embutido) com o auxiliar de componente parece uma restrição um tanto estranha e arbitrária