ng-model is undefined in controller ng-model is undefined in controller angularjs angularjs

ng-model is undefined in controller


I had exact the same issue recently and that's probably a solution:https://stackoverflow.com/a/22768720/552936

Modified quote:

"If you use ng-model, you have to have a dot in there."
Make your model point to an object.property and you'll be good to go.

Controller

$scope.formData = {};$scope.login = function () {  console.log("User logged in with membership no: " + $scope.formData.membershipNo +  "\n and password: " + $scope.formData.password); }

Template

<input type="text" placeholder="Membership No" ng-model="formData.membershipNo"><input type="password" placeholder="Password" ng-model="formData.password">


Please check this code This is worked for me:

<div class="row row-center">  <div class="col">    <div id="logo"></div>    <form>      <div class="list">        <label class="item item-input">          <input type="text" placeholder="Membership No" ng-model="data.membershipNo">        </label>        <label class="item item-input">          <input type="password" placeholder="Password" ng-model="data.password">        </label>      </div>      <button class="button button-block button-positive button-login" ng-click="login()">        Login      </button>    </form>  </div></div>

and in your-controller:

app.controller('loginController', ['$scope',  function($scope) {    $scope.data={};  $scope.login = function () {    console.log("User logged in with membership no: " + $scope.data.membershipNo +    "\n and password: " + $scope.data.password);  }}]);


You need to define your $scope variables like this in your controller:

$scope.membershipNo = '';$scope.password = '';

So your controller would look like:

app.controller('loginController', ['$scope', '$localstorage',  function($scope, $localstorage) {  $scope.membershipNo = '';  $scope.password = '';  $scope.login = function () {    console.log("User logged in with membership no: " + $scope.membershipNo +    "\n and password: " + $scope.password);  }}]);