我是这方面的初学者(Angular-2,Angular-CLI,Handlebars,Web 2.0开发)。我刚刚开始使用Angular-2 / CLI,我注意到了一些令人困惑的事情。在Angular-CLI生成的项目中,在index.html
中,我看到了:
{{#each scripts.polyfills}}
<script src="{{.}}"></script>
{{/each}}
,我猜,它是由Handlebars处理的,不知怎的?
那么,Angular-2的插值会发生什么呢,它也使用{{...}}
?
我是否必须以某种方式逃离curlies,或者Handlebars只处理某些文件,或者是什么?
答案 0 :(得分:4)
TL; DR:您可以忽略该语法,无需转义任何内容。
说明:
当您运行ng build
(或类似)时,会解析您的index.html
,并将生成的文件保存在/dist
中。
然后,此文件将提供给浏览器,并且不包含{{...}}
部分。
因此,Angular的插值没有任何冲突,你不需要逃避任何事情。
CLI确实在内部使用了Handlebars,但唯一解析的文件是index.html
as you can see in the source code。
另请注意,在即将发布的使用webpack的angular-cli版本中,此语法完全消失。 (您现在可以use the master branch尝试一下了)
仅供参考,Github也对此进行了讨论: https://github.com/angular/angular-cli/issues/993