2つの数字を足すと本当に奇妙な問題があります。
これが私のコードです。最初のコントローラーではすべて正常に動作していますが、2番目のコントローラーでは0ではなく10を追加すると、出力が完全に奇妙になります
ここにhtmlコードがあります
<div ng-app="">
<div ng-controller="Controller1">
<br/>**** Controller-1
<br/>Add 0 : {{update1(0)}}
<br/>Add 10 : {{update1(10)}}
<br/>Add 50 : {{update1(50)}}
<br/>Add -60 : {{update1(-60)}}</div>
<div ng-controller="Controller2">
<br/>**** Controller-2
<br/>Add 10 : {{update2(10)}}
<br/>Add 10 : {{update2(10)}}
<br/>Add 50 : {{update2(50)}}
<br/>Add -60 : {{update2(-60)}}</div>
</div>
ここに私のjavascriptがあります
function Controller1($scope) {
var x = 0;
$scope.update1 = function (smValue) {
x += parseInt(smValue);
return x;
}
}
function Controller2($scope) {
var y = 0;
$scope.update2 = function (smValue) {
y += parseInt(smValue);
return y;
}
}
そしてここに出力があります
**** Controller-1
Add 0 : 0
Add 10 : 10
Add 50 : 60
Add -60 : 0
**** Controller-2
Add 0 : 110
Add 10 : 120
Add 50 : 170
Add -60 : 110
試すリンクは次のとおりです:http://jsfiddle.net/6VqqN/
なぜそのように振る舞うのか、誰か説明してください。3桁か4桁の数字を追加しても、出力が予想とはまったく異なります。