如何使用AngularJS中的指令包装现有DOM元素

时间:2016-10-23 02:10:05

标签: angularjs angular-directive

我有一个已编译过的DOM元素并包含angular指令,例如

CurrentDirective
     function link(scope, element, attr, ctrls) {
        var element = element.children()[1]; //Ex HTML: <div testElement>test</div> )
       // Wrap element now with WrapperDirective

现在我想用一个名为&#34; WrapperDirective&#34;的新指令来包装它。

问题是,&#34; WrapperDirective&#34;需要它&#34;元素&#34;链接时的参数,运行此代码:

WrapperDirective
    link: function (scope, element, attrs) {
         var testElements = angular.element(element[0].querySelectorAll('[testElement]'));

结果应与使用此代码类似,但必须使用已编译的内部代码动态创建。

<WrapperDirective>
   <div testElement>test</div>  // Just example, could be anything.
</WrapperDirective>

基本上我需要像

这样的东西
$compile("<WrapperDirective>" + Existing DOM Element(No Recompile)+ "</WrapperDirective")

我知道我可以

$compile("<WrapperDirective></WrapperDirective>")

然后追加其余部分,但WrapperDirective的链接功能将无法获得所需的子元素。

0 个答案:

没有答案