[{"data":1,"prerenderedAt":1092},["ShallowReactive",2],{"page-\u002Fvue":3,"pieces-vue":1063,"autour-\u002Fvue":1077,"prerequis-\u002Fvue":1080,"plan-vue":1081},{"id":4,"title":5,"body":6,"description":1041,"extension":1042,"ligne":104,"meta":1043,"motsCles":1044,"navigation":185,"niveau":1053,"path":1054,"prerequis":1055,"ressources":1055,"seo":1056,"sources":1057,"stem":1061,"__hash__":1062},"docs\u002Fvue\u002Findex.md","Vue",{"type":7,"value":8,"toc":1031},"minimark",[9,18,23,87,95,99,278,282,285,386,392,396,476,494,500,504,654,716,722,726,816,822,826,943,947,951,1008,1022,1028],[10,11,12,13,17],"p",{},"Ce mémo résume l'essentiel de Vue 3 avec la Composition API et ",[14,15,16],"code",{},"\u003Cscript setup>",". Chaque section renvoie au cours qui l'explique en détail.",[19,20,22],"h2",{"id":21},"projet-et-commandes","Projet et commandes",[24,25,26,39],"table",{},[27,28,29],"thead",{},[30,31,32,36],"tr",{},[33,34,35],"th",{},"Commande",[33,37,38],{},"Effet",[40,41,42,53,63,73],"tbody",{},[30,43,44,50],{},[45,46,47],"td",{},[14,48,49],{},"npm create vue@latest",[45,51,52],{},"Crée un projet.",[30,54,55,60],{},[45,56,57],{},[14,58,59],{},"npm install",[45,61,62],{},"Installe les dépendances.",[30,64,65,70],{},[45,66,67],{},[14,68,69],{},"npm run dev",[45,71,72],{},"Lance le serveur de développement.",[30,74,75,80],{},[45,76,77],{},[14,78,79],{},"npm run build",[45,81,82,83,86],{},"Prépare la version finale dans ",[14,84,85],{},"dist",".",[10,88,89,90,86],{},"Détails : ",[91,92,94],"a",{"href":93},"\u002Fvue\u002Fpremier-composant","Ton premier composant Vue",[19,96,98],{"id":97},"structure-dun-fichier-vue","Structure d'un fichier .vue",[100,101,106],"pre",{"className":102,"code":103,"language":104,"meta":105,"style":105},"language-vue shiki shiki-themes github-light-default github-dark-default github-dark-default","\u003Cscript setup>\nimport { ref } from 'vue'\nconst nombre = ref(0)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"nombre++\">{{ nombre }}\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n\n\u003Cstyle scoped>\nbutton { font-weight: bold; }\n\u003C\u002Fstyle>\n","vue","",[14,107,108,128,145,170,180,187,197,222,231,236,249,269],{"__ignoreMap":105},[109,110,113,117,121,125],"span",{"class":111,"line":112},"line",1,[109,114,116],{"class":115},"scfrF","\u003C",[109,118,120],{"class":119},"s5JFL","script",[109,122,124],{"class":123},"s5iOY"," setup",[109,126,127],{"class":115},">\n",[109,129,131,135,138,141],{"class":111,"line":130},2,[109,132,134],{"class":133},"sOnC1","import",[109,136,137],{"class":115}," { ref } ",[109,139,140],{"class":133},"from",[109,142,144],{"class":143},"shWOn"," 'vue'\n",[109,146,148,151,154,157,161,164,167],{"class":111,"line":147},3,[109,149,150],{"class":133},"const",[109,152,153],{"class":123}," nombre",[109,155,156],{"class":133}," =",[109,158,160],{"class":159},"syCW7"," ref",[109,162,163],{"class":115},"(",[109,165,166],{"class":123},"0",[109,168,169],{"class":115},")\n",[109,171,173,176,178],{"class":111,"line":172},4,[109,174,175],{"class":115},"\u003C\u002F",[109,177,120],{"class":119},[109,179,127],{"class":115},[109,181,183],{"class":111,"line":182},5,[109,184,186],{"emptyLinePlaceholder":185},true,"\n",[109,188,190,192,195],{"class":111,"line":189},6,[109,191,116],{"class":115},[109,193,194],{"class":119},"template",[109,196,127],{"class":115},[109,198,200,203,206,209,212,215,218,220],{"class":111,"line":199},7,[109,201,202],{"class":115},"  \u003C",[109,204,205],{"class":119},"button",[109,207,208],{"class":123}," @click",[109,210,211],{"class":115},"=",[109,213,214],{"class":143},"\"nombre++\"",[109,216,217],{"class":115},">{{ nombre }}\u003C\u002F",[109,219,205],{"class":119},[109,221,127],{"class":115},[109,223,225,227,229],{"class":111,"line":224},8,[109,226,175],{"class":115},[109,228,194],{"class":119},[109,230,127],{"class":115},[109,232,234],{"class":111,"line":233},9,[109,235,186],{"emptyLinePlaceholder":185},[109,237,239,241,244,247],{"class":111,"line":238},10,[109,240,116],{"class":115},[109,242,243],{"class":119},"style",[109,245,246],{"class":123}," scoped",[109,248,127],{"class":115},[109,250,252,254,257,260,263,266],{"class":111,"line":251},11,[109,253,205],{"class":119},[109,255,256],{"class":115}," { ",[109,258,259],{"class":123},"font-weight",[109,261,262],{"class":115},": ",[109,264,265],{"class":123},"bold",[109,267,268],{"class":115},"; }\n",[109,270,272,274,276],{"class":111,"line":271},12,[109,273,175],{"class":115},[109,275,243],{"class":119},[109,277,127],{"class":115},[10,279,89,280,86],{},[91,281,94],{"href":93},[19,283,284],{"id":194},"Template",[24,286,287,297],{},[27,288,289],{},[30,290,291,294],{},[33,292,293],{},"Syntaxe",[33,295,296],{},"Rôle",[40,298,299,309,323,336,353,366,376],{},[30,300,301,306],{},[45,302,303],{},[14,304,305],{},"{{ valeur }}",[45,307,308],{},"Affiche une valeur.",[30,310,311,316],{},[45,312,313],{},[14,314,315],{},":src=\"image\"",[45,317,318,319,322],{},"Lie un attribut (",[14,320,321],{},"v-bind",").",[30,324,325,330],{},[45,326,327],{},[14,328,329],{},"@click=\"fonction\"",[45,331,332,333,322],{},"Écoute un événement (",[14,334,335],{},"v-on",[30,337,338,350],{},[45,339,340,343,344,343,347],{},[14,341,342],{},"v-if"," \u002F ",[14,345,346],{},"v-else-if",[14,348,349],{},"v-else",[45,351,352],{},"Crée ou détruit selon une condition.",[30,354,355,360],{},[45,356,357],{},[14,358,359],{},"v-show",[45,361,362,363,86],{},"Cache avec le CSS ",[14,364,365],{},"display",[30,367,368,373],{},[45,369,370],{},[14,371,372],{},"v-for=\"r in recettes\" :key=\"r.id\"",[45,374,375],{},"Répète un élément, avec une clé unique.",[30,377,378,383],{},[45,379,380],{},[14,381,382],{},"v-model",[45,384,385],{},"Lie un champ de formulaire.",[10,387,89,388,86],{},[91,389,391],{"href":390},"\u002Fvue\u002Ftemplate-et-directives","Le template et les directives",[19,393,395],{"id":394},"réactivité","Réactivité",[100,397,401],{"className":398,"code":399,"language":400,"meta":105,"style":105},"language-js shiki shiki-themes github-light-default github-dark-default github-dark-default","const portions = ref(4)                    \u002F\u002F portions.value dans le script\nconst recette = reactive({ nom: 'Crêpes' })\nconst total = computed(() => portions.value * 2)\n","js",[14,402,403,426,447],{"__ignoreMap":105},[109,404,405,407,410,412,414,416,419,422],{"class":111,"line":112},[109,406,150],{"class":133},[109,408,409],{"class":123}," portions",[109,411,156],{"class":133},[109,413,160],{"class":159},[109,415,163],{"class":115},[109,417,418],{"class":123},"4",[109,420,421],{"class":115},")                    ",[109,423,425],{"class":424},"sd6ml","\u002F\u002F portions.value dans le script\n",[109,427,428,430,433,435,438,441,444],{"class":111,"line":130},[109,429,150],{"class":133},[109,431,432],{"class":123}," recette",[109,434,156],{"class":133},[109,436,437],{"class":159}," reactive",[109,439,440],{"class":115},"({ nom: ",[109,442,443],{"class":143},"'Crêpes'",[109,445,446],{"class":115}," })\n",[109,448,449,451,454,456,459,462,465,468,471,474],{"class":111,"line":147},[109,450,150],{"class":133},[109,452,453],{"class":123}," total",[109,455,156],{"class":133},[109,457,458],{"class":159}," computed",[109,460,461],{"class":115},"(() ",[109,463,464],{"class":133},"=>",[109,466,467],{"class":115}," portions.value ",[109,469,470],{"class":133},"*",[109,472,473],{"class":123}," 2",[109,475,169],{"class":115},[477,478,479,487],"ul",{},[480,481,482,483,486],"li",{},"Dans le template, le ",[14,484,485],{},".value"," d'un ref est retiré automatiquement.",[480,488,489,490,493],{},"Un ",[14,491,492],{},"computed"," est mis en cache et en lecture seule.",[10,495,89,496,86],{},[91,497,499],{"href":498},"\u002Fvue\u002Freactivite","La réactivité",[19,501,503],{"id":502},"props-événements-et-modèle","Props, événements et modèle",[100,505,507],{"className":102,"code":506,"language":104,"meta":105,"style":105},"\u003Cscript setup lang=\"ts\">\nconst { titre, minutes = 30 } = defineProps\u003C{ titre: string, minutes?: number }>()\nconst emit = defineEmits\u003C{ (e: 'choisir', id: number): void }>()\nconst note = defineModel('note', { default: 0 })\n\u003C\u002Fscript>\n",[14,508,509,527,580,622,646],{"__ignoreMap":105},[109,510,511,513,515,517,520,522,525],{"class":111,"line":112},[109,512,116],{"class":115},[109,514,120],{"class":119},[109,516,124],{"class":123},[109,518,519],{"class":123}," lang",[109,521,211],{"class":115},[109,523,524],{"class":143},"\"ts\"",[109,526,127],{"class":115},[109,528,529,531,533,536,539,542,544,547,550,552,555,558,561,564,567,569,571,574,577],{"class":111,"line":130},[109,530,150],{"class":133},[109,532,256],{"class":115},[109,534,535],{"class":123},"titre",[109,537,538],{"class":115},", ",[109,540,541],{"class":123},"minutes",[109,543,156],{"class":133},[109,545,546],{"class":123}," 30",[109,548,549],{"class":115}," } ",[109,551,211],{"class":133},[109,553,554],{"class":159}," defineProps",[109,556,557],{"class":115},"\u003C{ ",[109,559,535],{"class":560},"sIXEE",[109,562,563],{"class":133},":",[109,565,566],{"class":123}," string",[109,568,538],{"class":115},[109,570,541],{"class":560},[109,572,573],{"class":133},"?:",[109,575,576],{"class":123}," number",[109,578,579],{"class":115}," }>()\n",[109,581,582,584,587,589,592,595,598,600,603,605,608,610,612,615,617,620],{"class":111,"line":147},[109,583,150],{"class":133},[109,585,586],{"class":123}," emit",[109,588,156],{"class":133},[109,590,591],{"class":159}," defineEmits",[109,593,594],{"class":115},"\u003C{ (",[109,596,597],{"class":560},"e",[109,599,563],{"class":133},[109,601,602],{"class":143}," 'choisir'",[109,604,538],{"class":115},[109,606,607],{"class":560},"id",[109,609,563],{"class":133},[109,611,576],{"class":123},[109,613,614],{"class":115},")",[109,616,563],{"class":133},[109,618,619],{"class":123}," void",[109,621,579],{"class":115},[109,623,624,626,629,631,634,636,639,642,644],{"class":111,"line":172},[109,625,150],{"class":133},[109,627,628],{"class":123}," note",[109,630,156],{"class":133},[109,632,633],{"class":159}," defineModel",[109,635,163],{"class":115},[109,637,638],{"class":143},"'note'",[109,640,641],{"class":115},", { default: ",[109,643,166],{"class":123},[109,645,446],{"class":115},[109,647,648,650,652],{"class":111,"line":182},[109,649,175],{"class":115},[109,651,120],{"class":119},[109,653,127],{"class":115},[24,655,656,669],{},[27,657,658],{},[30,659,660,663,666],{},[33,661,662],{},"Besoin",[33,664,665],{},"Parent",[33,667,668],{},"Enfant",[40,670,671,686,701],{},[30,672,673,676,681],{},[45,674,675],{},"Donnée",[45,677,678],{},[14,679,680],{},":titre=\"x\"",[45,682,683],{},[14,684,685],{},"defineProps",[30,687,688,691,696],{},[45,689,690],{},"Événement",[45,692,693],{},[14,694,695],{},"@choisir=\"f\"",[45,697,698],{},[14,699,700],{},"emit('choisir', 42)",[30,702,703,706,711],{},[45,704,705],{},"Modèle",[45,707,708],{},[14,709,710],{},"v-model:note=\"n\"",[45,712,713],{},[14,714,715],{},"defineModel('note')",[10,717,89,718,86],{},[91,719,721],{"href":720},"\u002Fvue\u002Fprops-et-evenements","Props, événements et v-model sur un composant",[19,723,725],{"id":724},"slots","Slots",[100,727,729],{"className":102,"code":728,"language":104,"meta":105,"style":105},"\u003C!-- enfant -->\n\u003Cheader>\u003Cslot name=\"entete\">Titre par défaut\u003C\u002Fslot>\u003C\u002Fheader>\n\u003Cmain>\u003Cslot \u002F>\u003C\u002Fmain>\n\n\u003C!-- parent -->\n\u003Ctemplate #entete>\u003Ch3>Crêpes\u003C\u002Fh3>\u003C\u002Ftemplate>\n\u003Cp>Contenu du slot par défaut\u003C\u002Fp>\n",[14,730,731,736,750,764,768,773,803],{"__ignoreMap":105},[109,732,733],{"class":111,"line":112},[109,734,735],{"class":424},"\u003C!-- enfant -->\n",[109,737,738,740,743,746,748],{"class":111,"line":130},[109,739,116],{"class":115},[109,741,742],{"class":119},"header",[109,744,745],{"class":115},">\u003Cslot name=\"entete\">Titre par défaut\u003C\u002Fslot>\u003C\u002F",[109,747,742],{"class":119},[109,749,127],{"class":115},[109,751,752,754,757,760,762],{"class":111,"line":147},[109,753,116],{"class":115},[109,755,756],{"class":119},"main",[109,758,759],{"class":115},">\u003Cslot \u002F>\u003C\u002F",[109,761,756],{"class":119},[109,763,127],{"class":115},[109,765,766],{"class":111,"line":172},[109,767,186],{"emptyLinePlaceholder":185},[109,769,770],{"class":111,"line":182},[109,771,772],{"class":424},"\u003C!-- parent -->\n",[109,774,775,777,779,782,785,788,791,794,796,799,801],{"class":111,"line":189},[109,776,116],{"class":115},[109,778,194],{"class":119},[109,780,781],{"class":115}," #",[109,783,784],{"class":123},"entete",[109,786,787],{"class":115},">\u003C",[109,789,790],{"class":119},"h3",[109,792,793],{"class":115},">Crêpes\u003C\u002F",[109,795,790],{"class":119},[109,797,798],{"class":115},">\u003C\u002F",[109,800,194],{"class":119},[109,802,127],{"class":115},[109,804,805,807,809,812,814],{"class":111,"line":199},[109,806,116],{"class":115},[109,808,10],{"class":119},[109,810,811],{"class":115},">Contenu du slot par défaut\u003C\u002F",[109,813,10],{"class":119},[109,815,127],{"class":115},[10,817,89,818,86],{},[91,819,821],{"href":820},"\u002Fvue\u002Fslots-watch-et-cycle-de-vie","Slots, watch et cycle de vie",[19,823,825],{"id":824},"watch-et-cycle-de-vie","Watch et cycle de vie",[100,827,829],{"className":398,"code":828,"language":400,"meta":105,"style":105},"watch(portions, (nouvelle, ancienne) => { \u002F* ... *\u002F })\nwatch(() => recette.nom, (nom) => { \u002F* ... *\u002F }, { immediate: true })\nwatchEffect(() => console.log(portions.value))\n\nonMounted(() => { \u002F* après le premier affichage *\u002F })\nonUnmounted(() => { \u002F* nettoyage *\u002F })\n",[14,830,831,859,889,907,911,927],{"__ignoreMap":105},[109,832,833,836,839,842,844,847,850,852,854,857],{"class":111,"line":112},[109,834,835],{"class":159},"watch",[109,837,838],{"class":115},"(portions, (",[109,840,841],{"class":560},"nouvelle",[109,843,538],{"class":115},[109,845,846],{"class":560},"ancienne",[109,848,849],{"class":115},") ",[109,851,464],{"class":133},[109,853,256],{"class":115},[109,855,856],{"class":424},"\u002F* ... *\u002F",[109,858,446],{"class":115},[109,860,861,863,865,867,870,873,875,877,879,881,884,887],{"class":111,"line":130},[109,862,835],{"class":159},[109,864,461],{"class":115},[109,866,464],{"class":133},[109,868,869],{"class":115}," recette.nom, (",[109,871,872],{"class":560},"nom",[109,874,849],{"class":115},[109,876,464],{"class":133},[109,878,256],{"class":115},[109,880,856],{"class":424},[109,882,883],{"class":115}," }, { immediate: ",[109,885,886],{"class":123},"true",[109,888,446],{"class":115},[109,890,891,894,896,898,901,904],{"class":111,"line":147},[109,892,893],{"class":159},"watchEffect",[109,895,461],{"class":115},[109,897,464],{"class":133},[109,899,900],{"class":115}," console.",[109,902,903],{"class":159},"log",[109,905,906],{"class":115},"(portions.value))\n",[109,908,909],{"class":111,"line":172},[109,910,186],{"emptyLinePlaceholder":185},[109,912,913,916,918,920,922,925],{"class":111,"line":182},[109,914,915],{"class":159},"onMounted",[109,917,461],{"class":115},[109,919,464],{"class":133},[109,921,256],{"class":115},[109,923,924],{"class":424},"\u002F* après le premier affichage *\u002F",[109,926,446],{"class":115},[109,928,929,932,934,936,938,941],{"class":111,"line":189},[109,930,931],{"class":159},"onUnmounted",[109,933,461],{"class":115},[109,935,464],{"class":133},[109,937,256],{"class":115},[109,939,940],{"class":424},"\u002F* nettoyage *\u002F",[109,942,446],{"class":115},[10,944,89,945,86],{},[91,946,821],{"href":820},[19,948,950],{"id":949},"composables","Composables",[100,952,955],{"className":398,"code":953,"filename":954,"language":400,"meta":105,"style":105},"export function usePortions(depart = 4) {\n  const portions = ref(depart)\n  return { portions }\n}\n","src\u002Fcomposables\u002FusePortions.js",[14,956,957,981,995,1003],{"__ignoreMap":105},[109,958,959,962,965,968,970,973,975,978],{"class":111,"line":112},[109,960,961],{"class":133},"export",[109,963,964],{"class":133}," function",[109,966,967],{"class":159}," usePortions",[109,969,163],{"class":115},[109,971,972],{"class":560},"depart",[109,974,156],{"class":133},[109,976,977],{"class":123}," 4",[109,979,980],{"class":115},") {\n",[109,982,983,986,988,990,992],{"class":111,"line":130},[109,984,985],{"class":133},"  const",[109,987,409],{"class":123},[109,989,156],{"class":133},[109,991,160],{"class":159},[109,993,994],{"class":115},"(depart)\n",[109,996,997,1000],{"class":111,"line":147},[109,998,999],{"class":133},"  return",[109,1001,1002],{"class":115}," { portions }\n",[109,1004,1005],{"class":111,"line":172},[109,1006,1007],{"class":115},"}\n",[477,1009,1010,1016,1019],{},[480,1011,1012,1013,86],{},"Le nom commence par ",[14,1014,1015],{},"use",[480,1017,1018],{},"On renvoie un objet ordinaire de refs.",[480,1020,1021],{},"Chaque appel crée un état indépendant.",[10,1023,89,1024,86],{},[91,1025,1027],{"href":1026},"\u002Fvue\u002Fcomposables","Les composables",[243,1029,1030],{},"html pre.shiki code .scfrF, html code.shiki .scfrF{--shiki-light:#1F2328;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3}html pre.shiki code .s5JFL, html code.shiki .s5JFL{--shiki-light:#116329;--shiki-default:#7EE787;--shiki-dark:#7EE787}html pre.shiki code .s5iOY, html code.shiki .s5iOY{--shiki-light:#0550AE;--shiki-default:#79C0FF;--shiki-dark:#79C0FF}html pre.shiki code .sOnC1, html code.shiki .sOnC1{--shiki-light:#CF222E;--shiki-default:#FF7B72;--shiki-dark:#FF7B72}html pre.shiki code .shWOn, html code.shiki .shWOn{--shiki-light:#0A3069;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF}html pre.shiki code .syCW7, html code.shiki .syCW7{--shiki-light:#8250DF;--shiki-default:#D2A8FF;--shiki-dark:#D2A8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sd6ml, html code.shiki .sd6ml{--shiki-light:#6E7781;--shiki-default:#8B949E;--shiki-dark:#8B949E}html pre.shiki code .sIXEE, html code.shiki .sIXEE{--shiki-light:#953800;--shiki-default:#FFA657;--shiki-dark:#FFA657}",{"title":105,"searchDepth":130,"depth":147,"links":1032},[1033,1034,1035,1036,1037,1038,1039,1040],{"id":21,"depth":130,"text":22},{"id":97,"depth":130,"text":98},{"id":194,"depth":130,"text":284},{"id":394,"depth":130,"text":395},{"id":502,"depth":130,"text":503},{"id":724,"depth":130,"text":725},{"id":824,"depth":130,"text":825},{"id":949,"depth":130,"text":950},"Le mémo de Vue 3 : création de projet, template, réactivité, props, événements, slots, watch et composables.","md",{},[1045,1046,1047,1048,1049,492,685,1050,1051,1052],"mémo","aide-mémoire","Vue 3","script setup","ref","defineEmits","defineModel","composable","memo","\u002Fvue",null,{"title":5,"description":1041},[1058],{"nom":1059,"url":1060},"Documentation officielle de Vue (en français)","https:\u002F\u002Ffr.vuejs.org\u002Fguide\u002Fintroduction.html","vue\u002Findex","Iov8f4VK3Lp0WbNItCDKdTp8rwuCyFkIBxPdrXJmnw8",[1064,1066,1068,1070,1072,1074,1076],{"path":93,"title":94,"stem":1065},"vue\u002F01.premier-composant",{"path":390,"title":391,"stem":1067},"vue\u002F02.template-et-directives",{"path":498,"title":499,"stem":1069},"vue\u002F03.reactivite",{"path":720,"title":721,"stem":1071},"vue\u002F04.props-et-evenements",{"path":820,"title":821,"stem":1073},"vue\u002F05.slots-watch-et-cycle-de-vie",{"path":1026,"title":1027,"stem":1075},"vue\u002F06.composables",{"path":1054,"title":5,"stem":1061},[1055,1078],{"title":94,"path":93,"stem":1065,"description":1079,"children":-1},"Créer un projet Vue 3 avec l'outil officiel, découvrir le composant monofichier .vue et la syntaxe script setup.",[],[1082,1084,1085,1086,1088,1089,1091],{"path":93,"title":94,"niveau":1083,"stem":1065},"debutant",{"path":390,"title":391,"niveau":1083,"stem":1067},{"path":498,"title":499,"niveau":1083,"stem":1069},{"path":720,"title":721,"niveau":1087,"stem":1071},"intermediaire",{"path":820,"title":821,"niveau":1087,"stem":1073},{"path":1026,"title":1027,"niveau":1090,"stem":1075},"avance",{"path":1054,"title":5,"niveau":1053,"stem":1061},1794583427551]