Javascript 将两个文本框与不同型号同步

Javascript 将两个文本框与不同型号同步,javascript,html,angularjs,angularjs-ng-model,Javascript,Html,Angularjs,Angularjs Ng Model,我有一个简单的angular应用程序,有两个不同型号的文本框 First Email: <input ng-model="firstEmail"/> Second Email: <input ng-model="secondEmail"/> 第一封电子邮件: 第二封电子邮件: 现在,如果在第一封电子邮件中键入了某些内容,我希望它在第二封电子邮件中填充,但如果第二封电子邮件是手动编辑的,则此绑定应停止,即第一封电子邮件中的进一步更改不应影响第二封电子邮件 我的代码: &

我有一个简单的angular应用程序,有两个不同型号的文本框

First Email: <input ng-model="firstEmail"/>
Second Email: <input ng-model="secondEmail"/>
第一封电子邮件:
第二封电子邮件:
现在,如果在第一封电子邮件中键入了某些内容,我希望它在第二封电子邮件中填充,但如果第二封电子邮件是手动编辑的,则此绑定应停止,即第一封电子邮件中的进一步更改不应影响第二封电子邮件

我的代码:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0-beta.1/angular.min.js"></script>
<script>
var emailApp = angular.module('emailApp', []);
emailApp.controller('EmailCtrl', ['$scope', function ($scope) {

}]);
</script>
</head>
<body ng-app="emailApp">
  <div ng-controller="EmailCtrl">
      First Email: <input ng-model="firstEmail"/>
      <br>
      Second Email: <input ng-model="secondEmail"/>
      </select>
  </div>
</body>
</html>

var emailApp=angular.module('emailApp',[]);
emailApp.controller('EmailCtrl',['$scope',函数($scope){
}]);
第一封电子邮件:

第二封电子邮件:
您需要使用watch从第一封电子邮件绑定第二封电子邮件中的内容

  $scope.$watch('firstEmail',function(newVal,oldVal){
    $scope.secondEmail=newVal;
    })

您需要使用watch从第一封电子邮件绑定第二封电子邮件中的内容

  $scope.$watch('firstEmail',function(newVal,oldVal){
    $scope.secondEmail=newVal;
    })

使用
ng change
指令更新值

<body ng-app="emailApp">
  <div ng-controller="EmailCtrl">
      First Email: <input ng-model="firstEmail" ng-change="secondEmail=firstEmail"/>
      <br>
      Second Email: <input ng-model="secondEmail"/>
  </div>
</body>

第一封电子邮件:

第二封电子邮件:


这可以帮助你。谢谢。

使用
ng change
指令更新值

<body ng-app="emailApp">
  <div ng-controller="EmailCtrl">
      First Email: <input ng-model="firstEmail" ng-change="secondEmail=firstEmail"/>
      <br>
      Second Email: <input ng-model="secondEmail"/>
  </div>
</body>

第一封电子邮件:

第二封电子邮件:


这可以帮助你。谢谢。

谢谢。这也是一个正确的答案。但squiroid的回答正好解决了我的需求,因为我需要引用oldvalue作为well@dusk7是的,不客气。ng更改避免了脏检查。就像$watch一样。如果您想要旧值,那么您需要使用@squiroid建议的
$watch
)谢谢。这也是一个正确的答案。但squiroid的回答正好解决了我的需求,因为我需要引用oldvalue作为well@dusk7是的,不客气。ng更改避免了脏检查。就像$watch一样。如果你想要旧值,那么你需要按照@squiroid的建议选择
$watch
:)@squiroid Great man+1。如果它是集合,我们可以在watch中添加true:)@squiroid Great man+1。如果它是集合,我们可以在watch中添加true:)