我们可以在指令中编译ng-transclude
,如下所述。我收到错误:
[ngTransclude:orphan]非法使用ngTransclude指令 模板!没有找到需要转换的父指令。 元素:
我的代码:
ngApp.directive("floater", ['$compile', function($compile) {
return {
restrict: "E",
replace: true,
transclude: true,
require: 'nuTitle',
scope: {
nuTitle: "=",
onMinimize: "&"
},
template: "<div></div>",
link: function(scope, element, attrs) {
var template = "<div class='floater'>" +
"<div class='content'>" +
...
"<div class='clearfix' ng-transclude></div>" +
...
"</div>" +
"</div>";
templateObj = $compile(template)(scope);
element.append(templateObj);
}
};
}]);
答案 0 :(得分:0)
问题类似于this
可能的解决方案是更改这些行:
template: "<div ng-transclude></div>",
compile: function compile ( element, attrs) {
var template = "<div><div>"+element.html()+"</div></div>";
element.html(template);
}
http://jsfiddle.net/qbt0rsek/2/
这样可以避免错误