11
votes

Array multiligne littéral

Dans mon modèle de jade, j'essaie de faire un tableau comme si:

- var myArray = [
    'one',
    'two',
    'three'
]


9 commentaires

Rien de mal avec votre code (en dehors de ce - une la première ligne). Devrait fonctionner bien


@FLAMBINO: Je pense que ce dirigeant - est un jade-ism: Jade-lang.com < / a>


N'auriez-vous pas besoin du - sur chaque ligne?


@Muistooshort Ah, n'avait même pas remarqué la balise jade . Je ne sais pas non plus Jade pour commencer :)


Comment est-ce moins verbeuse que de déclarer sur une seule ligne? Quoi qu'il en soit, j'ai essayé différentes combinaisons et cela ne semble pas possible de déclarer sur plusieurs lignes. Cependant, cela fonctionne bien (et est légèrement moins verbose): myarray = ['one', 'deux', 'trois'] (pas besoin de - var ). (édité pour des exemples de code)


@Puerkitobio bien qui n'est pas la partie moins verbeuse .. Mais mon tableau sera grand et je devra peut-être le modifier un peu, alors travailler sur une ligne sera difficile et difficile. Quoi qu'il en soit, ce que j'ai surtout, il ne compilera pas. Essayez-le vous-même .. il ne compile pas avec A - sur chaque ligne non plus. J'ai envie de me manquer quelque chose d'évident.


Ouais, comme je l'ai dit, j'ai essayé de quelques façons différentes et il ne semble pas possible de l'écrire sur Multiline (la version "- Var" que j'ai mentionnée est une ligne unique). Avez-vous envisagé de remplir le tableau en JavaScript et de l'alimenter à votre modèle de jade à l'aide de locaux (en Res.Render ('JADEFILE', {MyARRAY: ['ONE', 'Deux', 'TROIS']}); / Code>? De cette façon, vous pouvez l'écrire sans contraintes de jade et l'utiliser toujours dans vos modèles et vos mixages.


@Puerkitobio Oui, mais ce n'est pas idéal car il n'a pas de sens d'avoir cette information dans un autre fichier JS. Oh bien, je suppose que je vais faire faire une autre façon.


Dupliqué possible de Jade: Déclarez une variable sur plusieurs lignes


5 Réponses :


1
votes

Vous pouvez, mais chaque ligne doit être préfixée par un '-' - voir https: // github.com/visionMedia/jade/issues/502


0 commentaires

2
votes

Vous ne pouvez pas faire ça :( https://github.com/visionMedia/jade/pull/405


0 commentaires

6
votes
- myArray = ['one']
- myArray.push('two')
- myArray.push('three')
If you wanna.

0 commentaires

2
votes

Divesario a raison devrait ressembler à ceci:

- var myArray = [
-    'one',
-    'two',
-    'three'
- ]


2 commentaires

J'ai essayé votre solution ici, a eu une erreur Jeton inattendu PUNC «;» », Erreur PUNC«, »à la nouvelle JS_PARSE_ERROR . Est-ce correct? -Jade Version 0.35.0


Cela a sauvé ma journée. Btw je l'utilise sur le dernier pug-php



4
votes

Vous pouvez utiliser le code de bloc: xxx


1 commentaires

Cela fonctionne, mais il convient de noter que l'ajout d'un espace après le - va casser cela.