簡體   English   中英

角度指令添加指令

[英]Angular Directive to add a Directive

我正在嘗試為ng-minlength和ng-maxlength指令創建指令包裝。 這些包裝程序偽指令的目的是使用最大和最小長度填充輸入模型,以便能夠創建自定義驗證消息。 我的指令看起來像這樣

var directive = angular.module('selfservice.directives', []).directive
directive('minlength', [function() {
    return {
        restrict: 'A',
        require: 'ngModel',
        compile: function compile(tElement, tAttrs, transclude) {
            return {
                pre: function preLink(scope, elem, attrs) {
                    scope.minlength = attrs['minlength'];
                    elem.attr('ng-minlength', scope.minlength);
                    elem.removeAttr('minlength');
                }
            }
        }
    }
}])

都可以使用添加的ng-minlength屬性正確編譯,但是ng-minlength指令似乎不會以通常的方式影響字段的有效性。 我將功能專門添加到預編譯中,以便可以在常規摘要循環中將所有功能一起編譯,就好像它從一開始就在那兒一樣,但這似乎行不通。 有人可以幫助我了解如何實現這一目標嗎?

如上所述:

我確實通過將編譯服務添加到post link函數來使其工作

僅當不存在ng-指令並將其添加並設置attrs。$ observe('minLength')以在值更改時更新ng-minlength屬性時,才重新編譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM