Comment utiliser si la déclaration à l'intérieur du JSON est le code: .......................................................... ...........................................
var config =
[
if(page==true) {
{
"name" : "SiteTitle",
"bgcolor" : "",
"color" : "",
"position" : "TL",
"text" : "step1",
"time" : 5000
},
{
"name" : "Jawal",
"bgcolor" : "",
"color" : "",
"text" : "step2",
"position" : "BL",
"time" : 5000
}
} else {
{
"name" : "Password",
"bgcolor" : "",
"color" : "",
"text" : "step3",
"position" : "TL",
"time" : 5000
}
}
],
//define if steps should change automatically
autoplay = false,
//timeout for the step
showtime,
//current step of the tour
step = 0,
//total number of steps
total_steps = config.length;
5 Réponses :
C'est régulier JavaScript, pas JSON. Déplacez le si code> Déclaration extérieure: if (page) {
var config = [
{
"name" : "SiteTitle",
"bgcolor" : "",
"color" : "",
"position" : "TL",
"text" : "step1",
"time" : 5000
}, {
"name" : "Jawal",
"bgcolor" : "",
"color" : "",
"text" : "step2",
"position" : "BL",
"time" : 5000
}
];
} else {
var config = [
{
"name" : "Password",
"bgcolor" : "",
"color" : "",
"text" : "step3",
"position" : "TL",
"time" : 5000
}
];
}
Cela fera une erreur de syntaxe car vous avez un code complémentaire, AutoPlay = False, ShowTime, étape = 0, total_steps = config.length;
@ Montaserel-Sawy: Non, pas vraiment. Essayez-le.
Essayé le code sera le suivant: Si (ParamètresPage) {var config = [{"Nom": "Sitetertitle", "BGColor": "", "Couleur": "", "TL": "TL": "TL" : "Step1", "temps": 5000}]; } else {var config = [{"nom": "mot de passe", "bgcolor": "" "," couleur ":" "," Texte ":" Step3 "," TL ":" TL ": 5000}]; }, AutoPlay = false, showtime, étape = 0, total_steps = config.length; Essayez-le et dites-moi ce qui se passe ??
Vous avez une virgule après le dernier support de la déclaration code> code>, mais en dehors de cela, cela devrait fonctionner.
@ Montasérel-Sawy: vous devez vous en débarrasser et rendre vos déclarations variables locales en les préparé avec var code>.
Désolé je ne suis pas professe dans JavaScript et JQuery pourriez-vous le faire pour moi?
@ Montaserel-Sawy: Nope, vous le comprenez.
ou peut-être ceci:
Non, il ne fonctionne pas car une fois si la déclaration, je dois mettre un code complémentaire comme celui-ci:, AutoPlay = False, ShowTime, étape = 0, étapes totale = config.length;
Vous auriez pu juste ajouter une virgule à la fin du dernier support pour mon code ci-dessus.
Vous pouvez le faire de cette façon également (ne pas dire que c'est le meilleur moyen, mais c'est un autre moyen et pourrait être utile dans certains scénarios)
let config = [];
if (page) {
config.push({
"name" : "SiteTitle",
"bgcolor" : "",
"color" : "",
"position" : "TL",
"text" : "step1",
"time" : 5000
});
config.push({
"name" : "Jawal",
"bgcolor" : "",
"color" : "",
"text" : "step2",
"position" : "BL",
"time" : 5000
});
} else {
config.push({
"name" : "Password",
"bgcolor" : "",
"color" : "",
"text" : "step3",
"position" : "TL",
"time" : 5000
});
}
Valider le JSON Schema Draft-07 , Json prend désormais en charge le Voici un exemple rapide: p> si ... alors ... d'autre code> Mots-clés de la représentation conditionnelle de données. {
"if": {
"page": true
},
"then": [
{
"name": "SiteTitle",
"bgcolor": "",
"color": "",
"position": "TL",
"text": "step1",
"time": 5000
},
{
"name": "Jawal",
"bgcolor": "",
"color": "",
"text": "step2",
"position": "BL",
"time": 5000
}
],
"else": [
{
"name": "Password",
"bgcolor": "",
"color": "",
"text": "step3",
"position": "TL",
"time": 5000
}
]
}
Je pense que celui-ci devrait être la bonne réponse, selon les mises à jour récentes.
J'espère que vous pourriez adapter votre exemple à la question, plutôt que de fournir l'exemple que je viens de voir dans les notes de publication de VSCODE 1.27.2.
@Leo Ceci est l'exemple d'illustration standard comme indiqué par JSON-SHEMA.ORG , qui peut être trouvé ici => Json-schema.org/unerstanding-json-schema/reference/ ... . Bien que cela ait été ajouté comme exemple dans la dernière version du code VS, mais cela ne signifie pas qu'il a été copié. Même si c'était, c'est une illustration de la façon dont cela fonctionne, alors je ne pense pas que ce soit mauvais
@Erisan pas mal, mais pas une réponse. Envisagez de ne pas ignorer l'exemple de l'OP.
@Leo oh bien, c'est une réponse, mais pas illustrer les exemples de l'OP. Merci quand même.
Merci, j'ai fait une édition pour utiliser les exemples de l'OP.
Vous pouvez ajouter un si intérieur JSON.
const config = [
...(page ? [
{
"name" : "SiteTitle",
"bgcolor" : "",
"color" : "",
"position" : "TL",
"text" : "step1",
"time" : 5000
},
{
"name" : "Jawal",
"bgcolor" : "",
"color" : "",
"text" : "step2",
"position" : "BL",
"time" : 5000
}] : [{
"name" : "Password",
"bgcolor" : "",
"color" : "",
"text" : "step3",
"position" : "TL",
"time" : 5000
}]),
];