我正在构建一个服务来处理我的 Angular 应用程序中的模态窗口,因此需要一些手动工作来链接模板、范围和 Controller 。
我像这样使用 $compile 来构建模板并附加到范围,例如:
$compile('<h1>This is my window</h1><img src="{{ imageUrl }}">')($scope);
一切正常,但是......浏览器试图在 HTML 字符串被评估为 Angular 表达式之前加载任何东西,例如图像。例如,在这种情况下,浏览器会尝试逐字加载“http://myhost.com/ {{ imageUrl }}”,然后在拾取 Angular 表达式时立即加载正确的 URL。
这在 $compile()($scope) 被调用时立即发生,甚至没有将返回的模板附加/插入到 DOM。
基本上浏览器似乎在 Angular 替换 Angular 表达式之前解析 HTML - 浏览器将请求 HTML 中的任何类型的远程内容。怎么会这样?
最佳答案
使用ng-src而不是 src。这就是它的用途。
关于angularjs - $compile 正在为 Angular 表达式评估字符串之前加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21026315/