Nette formuláře do Vue.js

johnny13
Člen | 17
+
0
-

Ahoj, jsem naprostý začátečník ve Vue.js a proto mám možná hloupou otázku. Chtěl bych se prosím zeptat, zda vůbec existuje způsob (pokud ano, je k němu nějaký example?) jak nechat automaticky vyrendrovat formulář z Nette Forms do *.vue tak, aby fungovala validace, zpracování apod. Jediná myšlenka, která mě napadá, je napsat si vlastní Renderer, který by při kompilaci containeru vygeneroval *.vue soubor, který by obsahoval <template></tamplate> s formulářem. Celkově mi jde o to, abych při využití Vue.js nepřišel o bohaté možnosti Nette Formu a zároveň nemusel řešit vykreslování formuláře. Popřípadě prosím zda nemáte někdo nějaké cenné rady/odkazy jak integrovat Vue.js do Nette. Mockrát děkuji za odpověď.

Martk
Člen | 651
+
0
-

Nejjednodušší řešení jsem udělal následovně:

<div class="vue-form">
	{control form}
</div>

Pak js script, který nahradí vše vue-* za vue komponenty a po vytvoření komponenty před mountem předám ve startup metodě obsah html elementu, popř. ten nahrazovaný element data-* atributy.

Takže ve vue nakonec máš ten formulář + funguje to i bez js.

Jinak bych si to posílal ve <script> přes string:

{capture $string}
	{control form}
{/capture}
chemix
Nette Core | 1294
+
0
-

@johnny13 imho to bude krutej orisek … narazil jsem na slacku na https://inertiajs.com/ kde mixujou vue.js a laravel a kdyz se na to koukam tak je to takovej silenej moloch :(

to generovani formu pro vue.js bys musel idealne delat v compile time kdyz buildis js appku pomoci webpacku z php zdroju … uff … ale jako asi to reseni ma… ale zatim jsem nenarazil na nic rozumneho …

Spis si myslim ze Nette prijde s jinou pomoci a to s definovanim validace na vstupu API a ty si budes delat vue.js formulare (bez Nette) a jen na API pristupu si nastavit vstupni parametry … imho tyhle dve veci michat dohromady nema moc smysl… Nebo se pletu ? Nejake jine napady ? jine uhly pohledu ?

johnny13
Člen | 17
+
0
-

Děkuji za odpovědi. Uvidíme, zda ještě někdo přijde s dalšími nápady nebo s připomínkami z praxe.