se ngModel è per l'elemento modificabile e ngBind è per l'elemento immodificabile, non potrebbero entrambi avere lo stesso nome?

2

È vero che ngBind e ngModel sono molto simili: associa il modello (i dati) all'elemento di testo statico o all'elemento modificabile, ad esempio casella di testo, elemento di selezione o area di testo.

In tal caso, non avrebbe senso, solo per avere un nome, diciamo ngModel , e lasciarlo funzionare per tutti gli elementi (e quindi non abbiamo bisogno di ngBind )?

Questo sembra quasi un polimorfismo, con il quale, ngModel ha un comportamento per l'elemento modificabile e un altro comportamento per elementi immutabili.

    
posta 太極者無極而生 29.01.2016 - 15:38
fonte

3 risposte

1

Bene, è una decisione di design. Niente di più, niente di meno.

Altre librerie come ractivejs fanno ancora un passo avanti: non c'è bisogno di ngBind / ngModel, tutto è solo dei baffi:

<h1>{{title}}</h1>
<input value="{{foo}}" />

E saranno automaticamente dati bidirezionali vincolati per input, select, textareas e altri componenti interattivi.

    
risposta data 08.04.2017 - 16:19
fonte
0

ng-bind è un collegamento dati unidirezionale usato per visualizzare il valore all'interno del componente html come HTML interno. Questa direttiva non può essere utilizzata per il binding con la variabile ma solo con il contenuto di elementi HTML. Questa direttiva è molto utile per aggiornare blocchi come div, span, ecc. Con contenuto HTML interno.

Mentre la direttiva ng-model in AngularJS funziona come associazione dati bidirezionale.

e.g: Se vuoi capire meglio i collegamenti bidirezionali, hai un componente di input e il valore aggiornato in quel campo deve essere riflesso in un'altra parte dell'applicazione. La soluzione migliore è associare una variabile a quel campo ed emettere quella variabile ogni volta che si desidera visualizzare il valore aggiornato attraverso l'applicazione.

Per una migliore comprensione Vedi qui ...

    
risposta data 12.02.2016 - 13:01
fonte
0

ngModel e ngBind non hanno lo stesso scopo.

ngBind identico allo stesso scopo della notazione della parentesi: {{something}} .

Il permesso di utilizzo non è associato alla notazione delle parentesi, quindi non avrai un modello brutto con molte sfarfalature tra parentesi.

ngModel viene utilizzato per ogni direttiva che richiede il binding a due vie e utilizza ngModelController (in modo da poter personalizzare, formattare, analizzare e convalidare). Che cosa fa le direttive input, select, textarea .

TL; DR: usa ng-bind invece di {{}}, usa ng-model nei campi moduli e le direttive che lo richiedono. Per quanto riguarda il motivo per cui ng-bind non funziona in input, ... vedi la risposta di @Surjeet Bhadauriya.

    
risposta data 09.11.2016 - 13:09
fonte

Leggi altre domande sui tag