当$compile
-ing 一个角度 HTML 模板字符串时,我试图将额外的控制器和指令放在<script>
标签内,并在 HTML 模板中使用它们。
这样,我实际上是在尝试实现某种插件机制,以便我可以加载增强应用程序功能的外部文件。
该<script>
标签确实得到了评估,但我的问题是,HTML 模板编译发生在 JavaScript 评估之前。所以编译器抱怨缺少控制器。
例子:
http://plnkr.co/edit/8oZYhRHAjP84ecnl6hG3?p=preview
此示例引发错误:Error: Argument 'Controller' is not a function, got undefined
如果您在 中删除第 15-18 行(引用创建的控制器的 HTML)app.js
,您可以在控制台中看到以这种方式创建控制器确实有效。