这个例子适用于AngularJS 1.1.5(它会将它附加到div中),但是1.2.5没有(它会留下没有追加的html内容)。
https://egghead.io/lessons/angularjs-transclusion-basics
app.directive("panel", function() {
return {
restrict: "E",
transclude: true,
template: '<div class="panel" ng-transclude>This is a panel component</div>'
}
})
AngularJS 1.1.5:http://plnkr.co/edit/BLe56D9YZxSIAiJ31wW0(“这是......”按预期显示)AngularJS 1.2.5:http://plnkr.co/edit/h6dUrXXXBOQUtzsJqT4S(“这是......”没有出现)
在1.1.5中,“transclude:true”按预期工作(文本附加到面板),但在&gt;中1.2.0没有。
任何帮助?
答案 0 :(得分:5)
将指令中的模板更改为:
template: '<div class="panel" >This is a panel component</div><div ng-transclude></div>'
答案 1 :(得分:0)
事实上,现在可以捕获确切的行为:
template: '<div class="panel"> This is a panel component <div ng-transclude></div></div> '
即。如果您想要面板中的按钮,面板文本也会显示在面板中。
顺便说一下,我不知道为什么。