我编写了一个名为 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 工作正常,但不在我的包含中。
请问有什么想法吗?