0

次のように ngModel が接続されている入力ボックスを初期化すると:

angular.element(element.find("input")).kendoNumericTextBox({
  decimals : 4,
  format : "#.####"), // to match step and format
  step : step,
  value : value,
  min : scope.min,
  max : scope.max
});

次に、値を入力します。

3.33333333

その中に、それが表示されます:

3.3333

しかし、ngModel はまだ 3.33333333 に設定されています

これは Kendo-AngularJS のバグですか?

4

2 に答える 2

0

回避策としてこれを行いました(スコープ変数モデルがあります:「= ngModel」):

scope.$watch("model", function(newValue, oldValue) {
 if (newValue !== undefined) {
   kendoNumericBox.data("kendoNumericTextBox").value(newValue);
   scope.model = kendoNumericBox.data("kendoNumericTextBox").value()
 }
});

これを言っている間、コントローラーからngModelを更新すると、クリックするまで入力に反映されないという問題もあるので、私もそうしました:

 scope.model = kendoNumericBox.data("kendoNumericTextBox").value();

kendoNumericTextBox で検証されるように値を再度取得します。

kendoNumericBox は kendoNumericTextBox コンストラクターの戻り値です。

kendoNumericBox = elemenet.kendoNumericTextBox({. . .
于 2014-03-17T10:29:45.210 に答える