2

$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,您可以在控制台中看到以这种方式创建控制器确实有效。

4

1 回答 1

1

我终于设法根据动态加载 AngularJS 控制器中的解决方案来做到这一点。感谢@JoseM、@MaximShoustin 和@JussiKosunen 的提示和帮助。

http://plnkr.co/edit/fzmEZlP6bGBJqTOkfApH?p=preview

于 2014-04-17T15:54:14.307 回答