IEでのみ発生する「SCRIPT5002:Function expected」が表示されています。私は現在、バージョン9に対してテストしています。それは、以前に定義された計算された観測可能な別の観測可能な観測可能な内部を使用するときに発生します。ノックアウト計算により、IEでの関数の予想エラーのみが返される
私のアプリケーションはこれより少し複雑ですので、私は以下の非常に簡単なコードでエラーを再現しました。エラー番号1、番号2、および番号3(およびタブアウト)を入力すると、z = self.subtotal();
行にエラーが発生します。
このエラーはChromeやFirefoxでは発生しません。私はかなりの間グーグルで検索しました。うまくいけば誰かが私を引き離すのを助けることができます。ここで
はjsfiddleへのリンクです:ここではhttp://jsfiddle.net/kCmTg/
はjavascriptのである:ここでは
function putVars() {
self = this;
self.number1 = ko.observable();
self.number2 = ko.observable();
self.subtotal = ko.computed(function() {
return parseFloat(self.number1()) + parseFloat(self.number2());
}, self, { deferEvaluation: true });
self.number3 = ko.observable();
self.number4 = ko.observable();
self.total = ko.computed(function() {
var x, y, z;
x = self.number3();
y = self.number4();
z = self.subtotal();
return parseFloat(x) + parseFloat(y) + parseFloat(z);
}, self, { deferEvaluation: true });
}
$(function() {
ko.applyBindings(new putVars());
});
はhtmlです:
<h4>Calc 1</h4>
<label for="Number1">Number 1: </label><input id="Number1" type="text" data-bind="value: number1" />
<label for="Number2">Number 2: </label><input id="Number2" type="text" data-bind="value: number2" />
<label for="Subtotal"><b>Subtotal: </b></label><input id="Subtotal" type="text" data-bind="value: subtotal" readonly="readonly" />
<hr />
<h4>Calc 2</h4>
<label for="Number3">Number 3: </label><input id="Number3" type="text" data-bind="value: number3" />
<label for="Number4">Number 4: </label><input id="Number4" type="text" data-bind="value: number4" />
<label for="Total"><b>Total:</b> </label><input id="Total" type="text" readonly="readonly" data-bind="value: total" />
問題ともう少し簡潔な修正についてもう少し明確にしてくれてありがとう。私はすでにこのオプションを見る前にユダの解決法を実装していましたが、この議論とは無関係の他の理由でそれを残しました。私はこれがもっと正確な答えだと信じています。 – EJDev
同様の問題があり、2番目の修正を使って 'data-bind'の値に'() 'を入れて修正できました。それは素晴らしい仕事です。 – vapcguy