[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"docs:\u002Fdocs\u002Fguides\u002Flifecycle":3},{"id":4,"title":5,"body":6,"description":211,"extension":212,"meta":213,"navigation":216,"path":217,"seo":218,"stem":219,"__hash__":220},"docs\u002Fdocs\u002Fguides\u002Flifecycle.md","Жизненный цикл",{"type":7,"value":8,"toc":206},"minimark",[9,14,18,109,112,116,182,185,189,202],[10,11,13],"h2",{"id":12},"создайте-один-экземпляр","Создайте один экземпляр",[15,16,17],"p",{},"Host — CSS-селектор или HTMLElement. Конструктор добавляет собственную оболочку, не удаляя чужие элементы. Уничтожайте прежний экземпляр перед созданием нового в том же месте.",[19,20,25],"pre",{"className":21,"code":22,"language":23,"meta":24,"style":24},"language-ts shiki shiki-themes github-dark","const editor = new ViText(host, {\n  content: '# Начало', contentType: 'markdown', language: 'ru'\n});\nawait editor.whenReady();\neditor.focus();\n","ts","",[26,27,28,55,77,83,98],"code",{"__ignoreMap":24},[29,30,33,37,41,44,47,51],"span",{"class":31,"line":32},"line",1,[29,34,36],{"class":35},"snl16","const",[29,38,40],{"class":39},"sDLfK"," editor",[29,42,43],{"class":35}," =",[29,45,46],{"class":35}," new",[29,48,50],{"class":49},"svObZ"," ViText",[29,52,54],{"class":53},"s95oV","(host, {\n",[29,56,58,61,65,68,71,74],{"class":31,"line":57},2,[29,59,60],{"class":53},"  content: ",[29,62,64],{"class":63},"sU2Wk","'# Начало'",[29,66,67],{"class":53},", contentType: ",[29,69,70],{"class":63},"'markdown'",[29,72,73],{"class":53},", language: ",[29,75,76],{"class":63},"'ru'\n",[29,78,80],{"class":31,"line":79},3,[29,81,82],{"class":53},"});\n",[29,84,86,89,92,95],{"class":31,"line":85},4,[29,87,88],{"class":35},"await",[29,90,91],{"class":53}," editor.",[29,93,94],{"class":49},"whenReady",[29,96,97],{"class":53},"();\n",[29,99,101,104,107],{"class":31,"line":100},5,[29,102,103],{"class":53},"editor.",[29,105,106],{"class":49},"focus",[29,108,97],{"class":53},[15,110,111],{},"Начальные HTML\u002FJSON создаются синхронно. Markdown\u002FCSS ждут codecs; whenReady отклоняется при ошибке. Начальная загрузка не должна перезаписать документ, изменённый пользователем во время ожидания.",[10,113,115],{"id":114},"подпишитесь-и-освободите-ресурсы","Подпишитесь и освободите ресурсы",[19,117,119],{"className":21,"code":118,"language":23,"meta":24,"style":24},"const off = editor.on('change', event => console.log(event.revision));\n\u002F\u002F При уходе:\noff();\neditor.destroy();\n",[26,120,121,160,166,173],{"__ignoreMap":24},[29,122,123,125,128,130,132,135,138,141,144,148,151,154,157],{"class":31,"line":32},[29,124,36],{"class":35},[29,126,127],{"class":39}," off",[29,129,43],{"class":35},[29,131,91],{"class":53},[29,133,134],{"class":49},"on",[29,136,137],{"class":53},"(",[29,139,140],{"class":63},"'change'",[29,142,143],{"class":53},", ",[29,145,147],{"class":146},"s9osk","event",[29,149,150],{"class":35}," =>",[29,152,153],{"class":53}," console.",[29,155,156],{"class":49},"log",[29,158,159],{"class":53},"(event.revision));\n",[29,161,162],{"class":31,"line":57},[29,163,165],{"class":164},"sAwPA","\u002F\u002F При уходе:\n",[29,167,168,171],{"class":31,"line":79},[29,169,170],{"class":49},"off",[29,172,97],{"class":53},[29,174,175,177,180],{"class":31,"line":85},[29,176,103],{"class":53},[29,178,179],{"class":49},"destroy",[29,181,97],{"class":53},[15,183,184],{},"Destroy снимает UI\u002Fподписки\u002Fплагины, закрывает диалоги, отменяет upload и поздние проверки. Повторный вызов безопасен. Не вызывайте методы уничтоженного экземпляра. Ошибку cleanup плагина хост сообщает после освобождения остальных ресурсов.",[10,186,188],{"id":187},"ssr-и-source","SSR и source",[15,190,191,192,195,196,201],{},"Создавайте ViText только в браузере. Импорт ESM можно отложить до клиентского mounted. HTML-поля монтируются отдельно: ",[26,193,194],{},"setMode('html'); await whenSourceReady()",". После ошибки ленивой загрузки возможен повтор при переоткрытии. ",[197,198,200],"a",{"href":199},"\u002Fdocs\u002Fintegrations\u002Fvue-nuxt","Nuxt-пример",".",[203,204,205],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}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 pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":24,"searchDepth":57,"depth":57,"links":207},[208,209,210],{"id":12,"depth":57,"text":13},{"id":114,"depth":57,"text":115},{"id":187,"depth":57,"text":188},"Монтирование, готовность ресурсов, подписки и destroy.","md",{"group":214,"order":215},"Работа с документом",23,true,"\u002Fdocs\u002Fguides\u002Flifecycle",{"title":5,"description":211},"docs\u002Fguides\u002Flifecycle","PKq_57heyl5VLYdkb95DgvRkK4OF60lHc-ULf4q55d8",1792670389277]