Невозможно установить свойство undefined в директиве - PullRequest
0 голосов
/ 14 мая 2019

Моя цель состоит в том, чтобы отфильтровать значение ngModel по десятичному числу 2, что невозможно из cshtml

Я использовал приведенный ниже пример блога для создания пользовательской директивы: https://blog.krusen.dk/angularjs-decimals-browsers/

Я получаю ошибку:

[Ошибка SFC] Невозможно установить свойство '$ render' из неопределенного

Я не хочу ставить проверку NgModel неопределенной, поскольку она всегда должна быть там, однако, почему я получаю ngModel undefined в директиве

app.directive("decimals", function ($filter) {
    return {
        restrict: "A", // Only usable as an attribute of another HTML element
        require: "?ngModel",
        scope: {
            decimals: "@",
            decimalPoint: "@"
        },
        link: function (scope, element, attr, ngModel) {
            var decimalCount = parseInt(scope.decimals) || 2;
            var decimalPoint = scope.decimalPoint || ".";

            // Run when the model is first rendered and when the model is changed from code
            ngModel.$render = function() {
                if (ngModel.$modelValue != null && ngModel.$modelValue >= 0) {
                    if (typeof decimalCount === "number") {
                        element.val(ngModel.$modelValue.toFixed(decimalCount).toString().replace(".", ","));
                    } else {
                        element.val(ngModel.$modelValue.toString().replace(".", ","));
                    }
                }
            }

1 Ответ

0 голосов
/ 14 мая 2019

У меня есть ответ от Получить значение из ngModel в пользовательской директиве

Я изменил последовательность параметра NGModel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...