8

ho fatto due direttive per i messaggi di errore di installazione personalizzati in AngularJS:AngularJS: Due dati modo vincolante se non riesce elemento ha ngModel e una direttiva personalizzato

errori -> visualizza i messaggi di errore per una forma

degli errori messaggio -> imposta un messaggio di errore personalizzato su un input

Per qualche motivo ogni volta che aggiungo la direttiva error-message all'elemento l'associazione ng-model non funziona più (ma la convalida lo fa).

Vedi qui http://jsfiddle.net/apohl/A8Vgk/111/

Aiuto per favore :)

+0

Vedere anche http://stackoverflow.com/questions/11896732/ngmodel-and-component-with-isolated-scope –

+0

Apprezzo molto il fatto che il titolo corrispondesse perfettamente alla mia ricerca su google; Grazie! –

risposta

5

Il problema è che la vostra direttiva errorMessage utilizza un ambito isolato. Gli ambiti isolati influenzano l'intero elemento, pertanto la direttiva ngModel era in fase di valutazione in un ambito isolato, che ovviamente non può funzionare: il modello si trova nell'ambito genitore.

Non sono sicuro del motivo per cui hai stabilito un ambito isolato qui. Poiché stai cercando di creare un componente che deve interagire con altre direttive,, un ambito isolato non è la scelta migliore. Poiché errorMessage non ha alcun effetto sull'ambito corrente, potrebbe non essere necessario alcun ambito definito, ma è possibile utilizzare un ambito figlio se lo si desidera.

Dai uno sguardo a here per ulteriori informazioni su quando utilizzare ogni tipo di ambito su una direttiva.

+1

Ottima risposta. Ecco il violino fisso http://jsfiddle.net/jperl/A8Vgk/114/ – jonperl