1

モデルが異なる2つのテキストボックスを持つ単純なAngularアプリがあります

First Email: <input ng-model="firstEmail"/>
Second Email: <input ng-model="secondEmail"/>

ここで、最初の電子メールに何かが入力された場合、2 番目の電子メールに入力されるようにしたいのですが、2 番目の電子メールが手動で編集された場合、このバインディングは停止する必要があります。つまり、最初の電子メールをさらに変更しても、2 番目の電子メールには影響しません。

私のコード:

<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>
4

2 に答える 2

3

firstEmail から secondEmail のコンテンツをバインドするには、watch を使用する必要があります。

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

プランカー

于 2015-02-13T10:27:39.273 に答える
2

ディレクティブを使用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>

働くプランカー

これはあなたを助けることができます。ありがとう。

于 2015-02-13T10:44:21.513 に答える