2013-05-20 9 views
10

Weiß jemand warum in Angular, funktioniert der select selector nicht ohne das ng-modell?angular select funktioniert nicht ohne ng-model

<select ng-model="bla_bla" ng-options="obj.value as obj.key for obj in languages"/> 
<select ng-options="obj.value as obj.key for obj in languages"/> 

Die erste Codezeile oben funktioniert, während die zweite nicht funktioniert. Warum ???

Danke!

Antwort

12

Mit dem select Tag in einer Angular App wird die ng-select Direktive generiert, die ein HTML SELECT Element plus eckige Datenbindung ist. Suchen Sie in der Winkel Quelle für diese select Richtlinie, hier sind die ersten Zeilen von seiner link Methode:

link: function(scope, element, attr, ctrls) { 
    // if ngModel is not defined, we don't need to do anything 
    if (!ctrls[1]) return; 
    ... 

So ist es eigentlich in den Rahmen gebaut abzubrechen Verknüpfung der directive wenn ngModel nicht definiert ist, und so keine Bindung findet statt.

+1

Danke! das macht Sinn! – TidharPeer

+0

Irgendwelche Arbeit für das? Da wir die Datenbindung nicht immer benötigen ... –

+0

@VishalKumarSahu - Sie könnten einfach 'ng-model' mit einer Dummy-Variable angeben. – sh0ber