Шаблон AngularJs с условным атрибутом

Задача: создать шаблон с условными атрибутами, который изменяется в зависимости от значения модели.

Проблема: Когда я устанавливаю шаблон с помощью директивы, его атрибуты устанавливаются один раз и больше не изменяются.

Вот мой код:

Derective:

loginApp.directive('validationIcon', ['$compile', function ($compile) {
    return {
        restrict: 'E',
        scope: {
            validatedField: '=',
        },
        template: '<ng-include src="contentUrl"/>',
        link: function (scope, element, attrs) {
            scope.$watch("validatedField.$touched", function () {
                if (scope.validatedField.$touched) {
                    scope.$applyAsync(function () {
                        scope.contentUrl = '../../pages/templates/validation-icon-tplt.html';
                    });
                }
            });
        },
        replace: true
    };
}]);

шаблон:

<i ng-class="{'fa fa-lg fa-times-circle': {{validatedField.$invalid}}, 'fa fa-lg fa-check-circle' : {{validatedField.$valid}} }" 
   ng-style="{{validatedField.$invalid}} ?{color: 'red'}: {color: 'green'}"/>

element:
        <form action="#" novalidate method="post" name="regForm" ng-submit="submit()">
        <div class="input-group margin-bottom-sm">
            <input type="text" class="form-control " placeholder="Username" name="userName" ng-model="userName" required autofocus/>
            <span class="input-group-addon"><validation-icon validated-field=regForm.userName></validation-icon>
            </span>
        </div>

Может кто-нибудь подскажет, что я делаю не так?

0 ответов

Другие вопросы по тегам