Per cercare di affrontare la questione di fondo:
Qual è la relazione tra schema e forma?
Per mettere le cose in termini semplici, forse è più facile pensarla così. Per creare il modulo, hai tre pezzi di JSON:
Il JSON contenente i dati effettivi presentati tramite il modulo. Questo è il model
.
The JSON schema
. Questo descrive la struttura dello model
. Per dare un esempio estremamente semplice della relazione tra model
e schema
, immagina i tuoi dati effettivi (il tuo model
) descrivono una persona in termini di sesso ed età, come ad esempio {sex: female, age: 32}
. Il ruolo dello schema
consiste nel descrivere la struttura del modello, quindi in questo caso descriverebbe una proprietà di tipo stringa sex
il cui valore può essere solo male
o female
e che esiste una proprietà age
e quindi sopra. Per essere in grado di presentare un modulo che viene popolato utilizzando i dati model
, è sufficiente disporre di schema
per creare il modulo in primo luogo.
Il JSON form
è qualcosa che ritengo sia opzionale. È necessario averlo, ma può semplicemente contenere "*"
, che indica a angular-schema-form
di compilare il modulo automaticamente in base allo schema. In questo caso, la libreria compilerà il modulo interamente basato sullo schema e utilizzando le impostazioni predefinite come descritto nella documentazione. Ma quello che puoi fare, se vuoi, è usare l'oggetto form
per descrivere come vuoi che il tuo modulo sia strutturato.
Ecco un esempio molto grezzo e molto semplice della flessibilità dell'oggetto form
consente di:
Prendendo l'esempio person
oggetto precedente, se non si fanno uso dell'oggetto form
(cioè solo contiene "*"
) quindi angular-schema-form
creerà un modulo basato sullo schema. Avrebbe quindi campi di input per sex
e age
. Questi campi possono o non possono essere nel formato, nell'ordine o avere altre proprietà che si desidera. È quindi possibile utilizzare l'oggetto form
facoltativamente per indicare a angular-schema-form
come si desidera che il modulo venga creato. Ad esempio, è possibile utilizzare form
per fare in modo che il modulo contenga solo un campo per age
ma non sex
.
Quindi il model
è i tuoi dati e il schema
descrive la struttura di tali dati. In termini semplicistici, lo form
fornisce un ulteriore livello di mappatura e configurazione al modulo, sovrascrivendo il modulo predefinito che verrebbe creato sulla base del solo schema
.
Questo aiuto?
la tua domanda non è chiara. Non sei sicuro di quale JSON-Schema (il formato del modulo che stai chiedendo)? http://json-schema.org/. – Claies
alcuni frammenti di codice dalla pagina github modulo-schema angolare. 'var schema = { " tipo ":" oggetto ", " proprietà ": { " cognome ": {" tipo ":" stringa "}, " nome ": {" tipo ":" stringa "} , }} // per la forma [ "Nome", "cognome" ] ' Qui array è per la forma e l'oggetto è per lo schema. Stanno usando alcune convenzioni per il rendering dell'html. come tipo stringa o testo per casella di input, cosa succede se voglio usare come etichetta, un'altra opzione è template invece di testo, qui non so come associare questo template html con il valore del modello. [1/2] –
[vedi qui] (https://github.com/Textalk/angular-schema-form/blob/development/docs/index.md#overriding-field-types-and-order) [ 2/2] –