Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
$watch breaks ng模型绑定(angularJS)_Angularjs - Fatal编程技术网

$watch breaks ng模型绑定(angularJS)

$watch breaks ng模型绑定(angularJS),angularjs,Angularjs,我有两个不同ng型号的文本框。我在第一个文本框上使用$watch填充第二个文本框,但是当我修改第二个文本框并保存更改时,两个文本框中保存的值相同。我希望能够保存第二个文本框的更新值。如果我不使用$watch,两个文本框的值都是正确的。所以,我认为$watch是如何打破绑定的。有没有一种方法可以同时使用$watch获取更新的值?非常感谢。 这是示例代码, HTML $scope.$watch('model1',function(){ (if ($scope.model2 == null)){

我有两个不同ng型号的文本框。我在第一个文本框上使用$watch填充第二个文本框,但是当我修改第二个文本框并保存更改时,两个文本框中保存的值相同。我希望能够保存第二个文本框的更新值。如果我不使用$watch,两个文本框的值都是正确的。所以,我认为$watch是如何打破绑定的。有没有一种方法可以同时使用$watch获取更新的值?非常感谢。 这是示例代码, HTML

$scope.$watch('model1',function(){
(if ($scope.model2 == null)){
   $scope.model2 = $scope.model1;
  })
}


我知道我做错了什么。我需要给出一个条件,当我想要更改值时,或者它总是将其更改为model1,因为我基本上是将model1的值分配给model2。一个简单的空检查就成功了

$scope.$watch('model1',function(){
(if ($scope.model2 == null)){
   $scope.model2 = $scope.model1;
  })
}

谢谢大家的帮助

你能用你的代码创建一个JSFIDLE或plunk吗?如果没有看到一些代码,很难说到底出了什么问题,但听起来你的
$watch
不正确地更新了这两个属性。你是不是直接从代码中复制了你的示例?如果是这样,请正确标记。您缺少并混淆了一些字符:
这是我为您创建的一个工作小提琴:请解释您还希望它做什么。根据小提琴,使用您在此处发布的代码的精确副本,可以正常工作,我相信您描述的问题一定发生在代码的其他地方。
$scope.$watch('model1',function(){
(if ($scope.model2 == null)){
   $scope.model2 = $scope.model1;
  })
}