Se non stai usando un (punto) nei tuoi modelli AngularJS, stai sbagliando?

Ricordo di aver visto questa famosa citazione da un video su AngularJS che diceva che dovrebbe sempre essere usato a. (punto) nei tuoi modelli.

Beh, sto cercando di seguire questo dire che ho

var item = {} item.title = "Easy Access to support"; item.available = true; item.price = 31.67; 

Quindi questo funziona alla grande nel mio modo di vedere

  {{ item.title }} {{ item.available }} 

Sto usando un punto quindi penso che sia buono.

Ma ho alcune proprietà che non considero parte della modella, ma forse ho torto. Ad esempio, ho una proprietà che uso per abilitare o disabilitare un pulsante usando il ng-disable, ho inserito questo usando il formato punto. È praticamente entrato così

  $scope.disableButton = true; 

e lo uso come

  ng-disable="disableButton"...... 

Devo fare questa parte del modello “object”? o creare un altro object js solo così posso mantenere questa proprietà usando un punto?

Qualcuno sa se questo è accettabile o dovrei fare tutto (anche queste semplici proprietà) con un .dot ??

Grazie

Il “dovrebbe sempre essere un punto nel modello” si riferisce a ngModel . Questa direttiva è vincolante a doppio senso. Se si esegue il binding bidirezionale su una primitiva (ad esempio un booleano nel proprio caso), il setter lo imposterà sull’ambito corrente anziché sull’ambito su cui è definito, il che può causare un mal di testa quando si ha un utente di grandi dimensioni- interfaccia con molti ambiti figlio. Non fa riferimento ad altre direttive come ngDisable . Vedi questa spiegazione per maggiori dettagli su questo specifico problema.

Scenario di esempio: un ambito genitore con $scope.foo = "bar" e un ambito figlio con un . Inizialmente visualizzerà la bar , ma una volta che l’utente ha modificato il valore, verrà creato un foo sull’ambito figlio e il binding leggerà e scriverà quel valore. Il foo del genitore rimarrà bar . Spero che lo riassuma bene.

Pertanto, per ngModel scopi di ngModel , potrebbe essere necessario creare un object per aggirare tali problemi di associazione, ma per qualsiasi altra direttiva è necessario avere il raggruppamento logico regolare.