是否可以用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> ;.当前发生的是被转换的HTML被放置在ng-transclude div元素内。 那可能吗?
我认为最好的解决方案可能是创建自己的transclude-replace指令,将处理这个。但是对于一个快速和肮脏的解决方案,你的例子你可以基本上手动放置你想要的互换的结果:
原文链接:https://www.f2er.com/angularjs/145900.htmlmy-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()); } };