Javascript 链接$transclude函数中的ngMessage(找不到控制器和ngMessages)

Javascript 链接$transclude函数中的ngMessage(找不到控制器和ngMessages),javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我已创建了用于消除表单错误消息代码重复的指令: angular.module('errorMessages', ['ngMessages']) .directive('meErrorMessages', function() { return { templateUrl: '/app/common/errorMessages/errorMessages.html', transclude: true, sc

我已创建了用于消除表单错误消息代码重复的指令:

angular.module('errorMessages', ['ngMessages'])
.directive('meErrorMessages', function() {
        return {
            templateUrl: '/app/common/errorMessages/errorMessages.html',
            transclude: true,

            scope : {
                formName: '=',
                inputName: '='
            },
            link: function ($scope, $element, $attrs, $ctrl, $transclude) {
                $transclude(function(
                    angular.forEach(clone, function(cloneElement) {
                        cloneElement.class = 'errorBox';
                    })
                })
            }
        }
    });
使用HTML模板:

<div ng-show="inputName.$touched || formName.$submitted" ng-messages="inputName.$error">
    <ng-transclude></ng-transclude>
</div>

当我删除
链接
功能时,转写的内容将正确显示和隐藏。
$transclude
函数有什么问题,我如何修改转写内容的DOM?

我可能错了,但我认为你不应该同时使用
ngTransclude
$transclude
,只使用其中一个。你是对的。但移除它并没有帮助。
<input id="name" name="name" type="text" ng-model="user.name" required />
    <me-error-messages form-name="registrationForm"
                       input-name="registrationForm.name">
        <div ng-message="required">Required</div>
    </me-error-messages>
Error: [$compile:ctreq] Controller 'ngMessages', required by directive 'ngMessage', can't be found!