Angularjs 为什么ng transclude没有按预期在angular js中工作

Angularjs 为什么ng transclude没有按预期在angular js中工作,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我做了一个简单的带隔离作用域的定向。我阅读了transclude教程,但当我应用它时,它并没有按预期工作。我需要显示“dd”,并一起测试如何显示它 这是我的扑克牌 var-app=angular.module('app',[]); app.directive('newdir',function(){ 返回{ 限制:“E”, 范围:{ fr:“@” }, 替换:正确, transclude:true,//我们希望在指令中插入自定义内容 模板:“{fr}}” } }); 转置的元素被完全替换。用

我做了一个简单的带隔离作用域的定向。我阅读了transclude教程,但当我应用它时,它并没有按预期工作。我需要显示“dd”,并一起测试如何显示它 这是我的扑克牌

var-app=angular.module('app',[]);
app.directive('newdir',function(){
返回{
限制:“E”,
范围:{
fr:“@”
},
替换:正确,
transclude:true,//我们希望在指令中插入自定义内容
模板:“{fr}}”
}
}); 

转置的元素被完全替换。用以下内容替换模板以查看发生的情况:

<div><h3>BEFORE</h3><h1 ng-transclude>MISSING</h1><h3>AFTER</h3>{{fr}}</div>
BEFOREMISSINGAFTER{{fr}

为什么要更换它?ng transclude在指令文本和指令模板一起时使用
ng transclude
告诉angular要用原始指令元素中的内容替换模板中的内容。它被完全替换,因此您确切地知道内容被转移到哪里。如果没有完全替换,那么在我的示例中,您将不知道原始的
dd
应该在
丢失之前还是之后。
<div><h3>BEFORE</h3><h1 ng-transclude>MISSING</h1><h3>AFTER</h3>{{fr}}</div>