0

私は lobInclude と呼ばれるディレクティブを書きました。ngInclude と同じものが必要ですが、スコープはありません:

.directive("lobInclude", ["$templateRequest", "$compile", function($templateRequest, $compile)  {
        return {
            restrict: "A", 
            scope: false,
            compile: function()  {
                return {
                    pre: function(scope, elem, attrs) {
                        var toObserve = "lobInclude";
                        attrs.$observe(toObserve, function(value) {
                            value = scope.$eval(value);
                            $templateRequest(value, true).then(function(response) {
                                if (angular.isDefined(attrs.replace))
                                    elem.replaceWith($compile(angular.element(response))(scope));
                                else
                                    elem.append($compile(angular.element(response))(scope));
                            });
                        });
                    },
                    post: function() { }
                };
            }
        }
    }]);

すべて問題ないようですが、ディレクティブを使用すると ng-Messages が正しく機能しません。例を次に示します: http://codepen.io/jros/pen/jPxmxj?editors=101

コードペンには、入力と、他の入力を含むスクリプト ng-template を含むディレクティブを含むフォームがあります。

最初の入力の ng-messages は正常に機能しますが、私のインクルードにはありません。

アイデアはありますか?

4

1 に答える 1