在我的控制器中,我有一个变量:
$scope.myVar = { "id": 13459045, "firstName": "Joe", "lastName": "McCarthy", "createdBy": 0, "status": "active", "dollarValue": 0 }
在我的页面中,我将输入字段映射到变量:
<input ng-model="myVar.id" class="checknumberrange" />
“checknumberrange”类是解析输入值以在输入字段和模型中设置数值的指令。在处理此指令时,变量 $scope.myVar 中的一些元素将从变量中删除。
$scope.myVar = { "firstName": "Joe", "lastName": "McCarthy", "createdBy": 0, "status": "active", "dollarValue": 0 }
在指令的情况下,我发现当没有提供返回值时,值被删除了,但你会认为它会将那个键的值设置为 null,而不是完全从变量中删除配对。这发生在我项目的其他部分,当您在输入字段中写入时,该值会返回(可能会再次被删除),但我不明白为什么会发生这种情况。使用 Angular 1.2.0 rc3,以下 html:
<input ng-model="myVar.dollarValue" ng-blur="myVar.dollarValue=myVar.dollarValue.toFixed(2)" />
不允许我更改值。更改值将立即从变量中删除配对,如果您将焦点放在输入字段上,然后在其他地方,第一次,该字段将从“0”更新为“0.00”,第二次将导致配对被删除。
我真的很想了解为什么要删除配对,这样我就可以防止这种情况在我的工作中发生。