justgage no element with id 0 angular js

Я написал директиву JustGageплагину следующим образом.

function justGage() {
        return {
            restrict: 'E',
            replace: true,
            scope: {
                id: '@',
                value: '='
            },
            template: '<div id="{{id}}" class="200x160px" style="margin-top: 5vh"></div>',
            link: function ($scope, $element) {

                var g = new JustGage({
                    id: $scope.id,
                    value: $scope.value,
                    min: 0,
                    max: 100,
                    minLabelMinFontSize: 15,
                    maxLabelMinFontSize: 15,
                    valueMinFontSize: 40,
                    valueFontColor: '#ededed'
                });
            }
        };
    }

В контроллере я назначаю значения idи измеряю value

$element.id = "gauge";
$element.value = $scope.data;

Мой html выглядит следующим образом.

<just-gage></just-gage>

Тогда я получаю ошибку as "justgage : no element with id 0". В моей директиве я добавил один и тот же id в оба шаблона и justgage объекта.
Как я могу решить эту проблему для визуализации датчика?

1 ответ

  1. Вы создаете новую дочернюю область в вашей директиве, поэтому она не знает о idи valueвы назначили в контроллере.

    Вы можете сделать что-то вроде этого:

    link: function ($scope, $element, $attrs) {
    
        var g = new JustGage({
            id: $attrs.id,
            value: $attrs.value,
            // ..
        });
    
    }