Handlebars.js: Largeur td dynamique lors de la création d'une table

Créé le 23 avr. 2018  ·  7Commentaires  ·  Source: handlebars-lang/handlebars.js

Je crée une table qui comprend deux lignes avec des nombres dynamiques de td.
La partie importante est de définir la largeur pour chaque td et la largeur a été calculée et transmise à la vue.
tdWidth : 100/numberOfChars => qui donne un pourcentage pour la largeur
J'utilise le code suivant mais il ne fonctionne pas :

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

toute aide appréciée.

Commentaire le plus utile

Vous itérez dans "corrects" dans votre instruction "each", mais cet objet ne contient pas l'objet "tdWidth".

Je pense que tu devrais peut-être changer ceci :
{{tdWidth}}

Pour ça:
{{../tdWidth}}

Ref: http://handlebarsjs.com/ (sous "Handlebars Paths")

Tous les 7 commentaires

@nknapp , aidez-moi !

Quel problème rencontrez-vous actuellement ?

Plus de code serait nécessaire pour aider à résoudre le problème.

@magikstm en fait tdWidth provient du serveur mais il n'est pas rendu dans le client. pendant que je vérifie la source sur le client, cela montre:

c
mais quand j'affiche tdWidth à l'intérieur d'un span ou d'un div, il affiche : 9,99, ce qui signifie que les données proviennent du serveur. Cela ne fonctionne pas lorsque je le place dans la balise de style d'un élément.

@amirzandi pourriez-vous s'il vous plaît partager plus de votre code ?

Surtout la partie qui crée la valeur "tdWidth" ainsi que la façon dont vous la liez à cette partie de votre page.

@magikstm
c'est côté serveur :
res.render('./game/phrase_box', {
mise en page : faux,
incorrects : résultat.incorrects,
corrige : résultat.corrige,
nombreDeChars : résultat.nombreDeChars,
tdWidth : 100 / nombreDeCaractères
});

c'est le côté client:
{{#si incorrect}}
{{#si correct}}


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

{{autre}}

{{/si}}

Vous itérez dans "corrects" dans votre instruction "each", mais cet objet ne contient pas l'objet "tdWidth".

Je pense que tu devrais peut-être changer ceci :
{{tdWidth}}

Pour ça:
{{../tdWidth}}

Ref: http://handlebarsjs.com/ (sous "Handlebars Paths")

@magikstm ohhhhh tu as sauvé ma journée... merci beaucoup... merci beaucoup.

Cette page vous a été utile?
0 / 5 - 0 notes