1

以下是我的指令

app.directive("numberformatDirective", function ($kWindow) {       
        return {            
            require: "ngModel",
            link : function(scope,elem,attr,ctrl)
            {             

                function parsedata(text) {
                    return kendo.toString(text, "#,##0.00");
                }

                ctrl.$parsers.push(parsedata);
                ctrl.$formatters.push(parsedata);
            }

        }

    })

当我在输入字段中输入任何文本时,数字未格式化。如果我从控制器做同样的事情,它会按预期工作。

控制器:

        $scope.netAmount = kendo.toString(121454, "#,##0.00");

上面的代码片段在控制器中效果很好。但

该指令的预期输出是“1,214.54”,但我总是得到 12145。

请帮忙..

4

1 回答 1

0

我犯了一个大错。我没有将输入值解析为浮点数。

app.directive("numberformatDirective", function ($kWindow) {       
        return {            
            require: "ngModel",
            link : function(scope,elem,attr,ctrl)
            {             

                function parsedata(text) {
                    return kendo.toString(parseFloat(text), "#,##0.00");
                }

                ctrl.$parsers.push(parsedata);
                ctrl.$formatters.push(parsedata);
            }

        }

    })

于 2015-06-16T09:05:52.943 回答