Handlebars.js: Largura td dinâmica ao criar a tabela

Criado em 23 abr. 2018  ·  7Comentários  ·  Fonte: handlebars-lang/handlebars.js

Estou criando uma tabela que inclui duas linhas com números dinâmicos de td.
A parte importante é definir a largura para cada td e a largura foi calculada e passada para visualização.
tdWidth: 100/numberOfChars => que fornece uma porcentagem para largura
Estou usando o seguinte código, mas não está funcionando:

<table>
<tbody>
<tr>
{{#each array}}
<td style='width: {{tdWidth}}%;'>{{this}}</td>
{{/each}}
</tr>
</tbody>
</table>

qualquer ajuda apreciada.

Comentários muito úteis

Você está iterando em "corrigir" em sua instrução "each", mas esse objeto não contém o objeto "tdWidth".

Acho que você pode precisar mudar isso:
{{tdWidth}}

Para isso:
{{../tdWidth}}

Ref: http://handlebarsjs.com/ (em "Caminhos do Handlebars")

Todos 7 comentários

@nknapp por favor me ajude!

Qual problema você está tendo atualmente?

Seria necessário mais código para ajudar a resolver o problema.

@magikstm , na verdade, tdWidth vem do servidor, mas não está sendo renderizado no cliente. enquanto eu verifico a fonte no cliente, ele mostra:

c
mas quando eu exponho tdWidth dentro de um span ou div, ele mostra: 9.99, o que significa que os dados estão vindo do servidor. Não está funcionando enquanto eu o coloco dentro da tag de estilo de um elemento.

@amirzandi você poderia compartilhar mais do seu código?

Especialmente a parte que cria o valor "tdWidth" e como você o vincula a essa parte da sua página.

@magikstm
este é o lado do servidor:
res.render('./game/phrase_box', {
layout: falso,
incorretos: resultado.incorretos,
corrige: resultado.corrige,
numberOfChars: result.numberOfChars,
tdWidth: 100 / numberOfChars
});

este é o lado do cliente:
{{#if incorreto}}
{{#if correto}}


            <tr>
                {{#each corrects}}
                    <td style="width:{{tdWidth}}%">{{this}}</td>
                {{/each}}
            </tr>
        </tbody>
    </table>
{{/if}}

{{senão}}

{{/E se}}

Você está iterando em "corrigir" em sua instrução "each", mas esse objeto não contém o objeto "tdWidth".

Acho que você pode precisar mudar isso:
{{tdWidth}}

Para isso:
{{../tdWidth}}

Ref: http://handlebarsjs.com/ (em "Caminhos do Handlebars")

@magikstm ohhhhh você salvou meu dia... muito obrigado... muito obrigado.

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