2017-08-18 2 views
-1

ngModel nicht funktioniert

$scope.callFunction = function() { 
 
    console.log($scope.modelData); 
 
}
<md-select ng-model="modelData" ng-change="callFunction()"> 
 
    <md-option ng-repeat="x in tempData" ng-value="x">{{x}} 
 
    </md-option> 
 
</md-select>

Ich versuche, die md-Auswahl Auswahlbox zu verwenden, aber das ng-Modell scheint nicht zu funktionieren. Irgendeine Idee, wo ich falsch liege?

Die Ausgabe in ng-change-Funktion wird als undefiniert ausgegeben.

+0

meine Antwort ist hilfreich für Sie? –

+0

Haben Sie es an einen Controller gebunden? – Edric

Antwort

1

Verwendung $scope.modelData statt nur modelData

$scope.modelData; 
 
$scope.callFunction = function() { 
 
    console.log($scope.modelData); 
 
}
<md-select ng-model="modelData" ng-change="callFunction()"> 
 
    <md-option ng-repeat="x in tempData" ng-value="x">{{x}} 
 
    </md-option> 
 
</md-select>

+0

Sorry, das war ein Tippfehler. Ich habe $ scope in meinem Code verwendet und es funktioniert immer noch nicht –

+0

Und haben Sie $ scope.modelData mit Ihren Daten zuvor definiert? Bitte teilen Sie Ihren vollständigen Code. –

0

Ist es "undefined" Anmeldung? wahrscheinlich wäre besser mit console.log($scope.modelData);

1

die Modelle über $scope in der Steuerung zugänglich sind $scope.modelName

// sometime data might not bind for object in that case you to declare this not always 
 
$scope.modelName; 
 
$scope.callFunction = function() { 
 
    console.log($scope.modelName); 
 
}
<md-select ng-model="modelName" ng-change="callFunction()"> 
 
    <md-option ng-repeat="x in tempData" ng-value="x">{{x}} 
 
    </md-option> 
 
</md-select>

0

Sie müssen $ scope in Controller-Funktion hinzuzufügen.

angular.module('test') 
    .controller('TestController',['$rootScope','$http','$scope', 
     function ($rootScope,$http, $scope) { 
      $scope.callFunction = function() { 
      console.log($scope.modelData); 
     } 
}]) 
Verwandte Themen