angularjs – 如何用ng-transclude替换元素

前端之家收集整理的这篇文章主要介绍了angularjs – 如何用ng-transclude替换元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以用ng-transclude替换元素而不是整个模板元素?

HTML:

<div my-transcluded-directive>
    <div>{{someData}}</div>
</div>

指示:

return {
    restrict:'A',templateUrl:'templates/my-transcluded-directive.html',transclude:true,link:function(scope,element,attrs)
    {

    }
};

my-transcluded-directive.html:

<div>
    <div ng-transclude></div>
    <div>I will not be touched.</div>
</div>

我正在寻找的是一种方式让< div> {{someData}}< / div>替换< divng-transclude>< / div&gt ;.当前发生的是被转换的HTML被放置在ng-transclude div元素内。 那可能吗?

我认为最好的解决方案可能是创建自己的transclude-replace指令,将处理这个。但是对于一个快速和肮脏的解决方案,你的例子你可以基本上手动放置你想要的互换的结果:

my-transcluded-directive.html:

<div>
    <span>I WILL BE REPLACED</span>
    <div>I will not be touched.</div>
</div>

指示:

return {
    restrict:'A',attrs,ctrl,transclude)
    {
         element.find('span').replaceWith(transclude());
    }
};
原文链接:https://www.f2er.com/angularjs/145900.html

猜你在找的Angularjs相关文章