我写了自定义指令<order></order>
。它有以下模板:
<div class="container"><div class="info"></div></div>
我有父自定义指令<container></container>
,它呈现简单
<div></div>
。在其链接功能中,我尝试按以下方式添加一个order
:
var compiledOrder = $compile("<order></order>")(scope);
我认为它返回已编译的html(<div></div>
),但它返回<order></order>
。这是预期的行为吗?我可以获得指令的HTML吗?
“订单”指令代码:
directives.directive("order",function(){
return{
restrict: "A/E",
replace: true,
scope: {
order: "=data"
},
templateUrl: "http://127.0.0.1:37328/ItemTemplates/order.html",
link: function(scope, element,attrs){
console.log("link phase");
}
}
});
答案 0 :(得分:0)
是的,模板插入了&#39;指令元素&#39; (在这种情况下<order />
)。所以你可以使用jqLite(或jQuery,如果你包括它),就像这样
var directiveTemplate = compiledOrder.children()
答案 1 :(得分:0)
所以,过了一段时间后,我决定尝试使用template:
而不是templateUrl:
,并发现使用此方法可以按预期工作 - $compile(<order></order>)(scope)
从'order返回html '指令模板。