Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ng模型到输入不绑定返回未定义_Javascript_Angularjs - Fatal编程技术网

Javascript Ng模型到输入不绑定返回未定义

Javascript Ng模型到输入不绑定返回未定义,javascript,angularjs,Javascript,Angularjs,我使用控制器作为语法。我试图在点击按钮时接受一个简单的输入,它接受一个值 我的HTML: <section class="row" ng-controller="EditController as vm"> <div class="col-md-12"> <md-input-container class="md-block"> <label for="email">Add Email</label> &

我使用控制器作为语法。我试图在点击按钮时接受一个简单的输入,它接受一个值

我的HTML:

<section class="row" ng-controller="EditController as vm">
 <div class="col-md-12">
   <md-input-container class="md-block">
      <label for="email">Add Email</label>
      <input id="mEml" type="email" name="e0" class="form-control" ng-model="vm.myVal.email" lowercase required>
   </md-input-container>
  </div>
  <div class="col-md-12">Email entered : 
   <!-- Only for testing -->
   <span ng-bind="vm.myVal.email"></span>
  </div>
  <div class="col-md-12 col-xs-12 text-right form-group no-pads">
   <button type="button" ng-click="vm.updateIt()">Save</button>
  </div>
</section>
在页面加载时,我可以在输入字段中看到test。但当我点击它来输入我的值时,它就变成了未定义的。所有控制台语句都显示电子邮件未定义


我只是最近才把Controller作为语法,所以我试着把整个东西改成$scope而不是vm,结果还是一样的。为什么会这样?有人能解释一下原因吗?

我想是您使用
type=“email”
造成的

ng model
by design将过滤掉无效结果


请尝试输入有效的电子邮件地址或更改为
type=“text”

我认为这是由于您使用
type=“email”
造成的

ng model
by design将过滤掉无效结果


请尝试输入有效的电子邮件地址或更改为
type=“text”

谢谢,这样就解决了问题。今天学到了一些新东西。谢谢,这就解决了它。今天学到了一些新东西。
 function EditController($scope, $http, $location, $sanitize){    
  var vm = this;
  vm.updateIt = updateIt;
  vm.myVal= {email: 'test'};
  function updateIt(){
   console.log('Email entered is ' +  vm.myVal.email);
   console.dir( vm.myVal);
  }
 }());