angular.module("esNgAntd").directive("antdSlot", ["$compile", function ($compile) { return { restrict: "E", replace: true, transclude: true, scope: { content: "@", context: "=" }, controller: function ($scope, $element) { $scope.watch = { content: function (newVal) { if (newVal !== undefined) { if (/<[^>]+>/.test(newVal)) { $element.replaceWith($compile(newVal)($scope.context ? $scope.context : $scope)); } else { $element.text(newVal); } } } }; }, link: function ($scope) { for (const key in $scope.watch) { $scope.$watch(key, $scope.watch[key], true); } } }; }]);