私は 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 は正常に機能しますが、私のインクルードにはありません。
アイデアはありますか?