我目前正在建立一个使用NodeJS作为服务器的网站,Express Handlebars(只是服务器端的Handlebars),并希望将AngularJS用于一些客户端。
AngularJS和Handlebars使用相同的语法进行模板处理, {{foo}} 这会导致一个问题,其中ExpressHandlebars首先会解释AngularJS代码,然后会抛出错误,因为它尝试提取的数据仅存在于Angular中而不是Node中。
{{foo}}
有没有办法让AngularJS和Express Handlebars一起工作?
ng
您的第一个解决方案是可能的,AngularJS允许更改文本插值的开始/结束符号,如下所示:
appModule.config(function($interpolateProvider) { $interpolateProvider.startSymbol('{[{'); $interpolateProvider.endSymbol('}]}'); });
然后,您可以在模板中使用它:
<div>{[{message}]}</div>
另请参阅:$ interpolateProvider文档
希望这可以帮助。