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

看来这是有效的行为。我向 kendo-labs 报告了问题:

https://github.com/kendo-labs/angular-kendo/issues/240#issuecomment-37793471

于 2014-03-17T08:35:12.543 回答
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 回答