如何在父母之前优先编译孩子?
例如,假设我有一个编译 Markdown 的指令,并且我想将 Markdown 文件分开。所以,我可以:
<div markdown>
<ng-include src='"someMarkdownFile.md"'></div>
</div>
问题是我不知道如何让 ng-include 先编译。
我尝试将它们放在同一个元素上并将markdown
指令设置为terminal
,例如:
<div markdown ng-include src='"someMarkdownFile.md"'></div>
但由于 ng-include 是终端,它永远不会在 markdown 指令之前运行。
这可能吗?
回答
看起来答案是,你不能。Brandon 的回答对我的特殊情况有所帮助,但在 Angular 中似乎没有办法做到这一点。
为了在下面阐述布兰登的回答,我将我的 HTML 更改为:
<div markdown src='someMarkdownFile.md'></div>
并让指令检查src
属性。如果存在,请运行:
$http.get(src, {cache: $templateCache}).success(function(resp) {
return element.html(resp);
}).error(function() {
throw new Error("Could not load " + src + " from markdown directive");
});