Ember.js: Não é possível usar o componente de entrada com o auxiliar de componente

Criado em 17 mar. 2016  ·  3Comentários  ·  Fonte: emberjs/ember.js

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

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í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

Todos 3 comentários

@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" :)

Esta página foi útil?
0 / 5 - 0 avaliações