KnockoutJS를 사용하여 비행을위한 간단한 무게 및 균형 응용 프로그램을 만들고 있습니다. 여기에는 암 (moment/weight)
과 순간 (weight * arm)
을 계산해야합니다. 보시다시피, 팔은 순간에 의존하고, 그 반대도 마찬가지입니다. 내가 가지고있는 문제는 사용자가 순간이나 팔 중 하나를 업데이트 할 때 무한 루프가 발생하여 중단해야한다는 것입니다.KnockoutJS 및 무한 루프
function weightAndBalance(_arm)
{
var self = this;
this.weight = ko.observable(0);
this.arm = ko.computed(function()
{
if(parseFloat(self.weight()) == 0)
{
return _arm;
}
console.log("Arm: " + parseFloat(self.moment())/parseFloat(self.weight()));
return parseFloat(self.moment())/parseFloat(self.weight());
});
this.moment = ko.computed(function()
{
console.log("Moment: " + parseFloat(self.weight()) * parseFloat(self.arm()));
return parseFloat(self.weight()) * parseFloat(self.arm());
});
}
ko.applyBindings(new weightAndBalance(80.1));
그리고 내 마크 업 :
여기 내 코드의
<table>
<tr>
<th>Item</th>
<th>Weight</th>
<th>Arm</th>
<th>Moment</th>
</tr>
<tr>
<td>Front Passengers</td>
<td><input type="text" data-bind="value: weight" /></td>
<td><input type="text" data-bind="value: arm" /></td>
<td><input type="text" data-bind="value: moment" /></td>
</tr>
</table>
는 사용자가 무게를 입력해야하며, 현재 필드는 채워 져야합니다. 순간 필드를 수동으로 입력하는 경우 암을 자동으로 다시 계산해야합니다.
Fiddle form에 라이브 데모를 준비했습니다.
나는 당신이 의미하는 것을 이해하지 못합니다 - 나는 그 바이올린에서 어떤 계산도 보지 못합니까? –
질문에 관련 코드를 포함하십시오. – meagar
녹아웃이이 문제를 처리해야합니다 ... –