背景
我目前正在构建一个使用 NodeJS 的网站对于服务器,Express Handlebars (只是 Handlebars 但服务器端),希望 AngularJS对于一些客户端的东西。
问题
AngularJS 和 Handlebars 使用相同的模板语法
{{foo}}
这会导致一个问题,即 AngularJS 代码将首先由 Express Handlebars 解释,然后会抛出错误,因为它试图提取的数据只存在于 Angular 而不是 Node 中。
问题
有没有办法让 AngularJS 和 Express Handlebars 一起工作?
可能的解决方案
- 改变AngularJS的语法
- 我正在查看 BackboneJS,看起来可以更改语法。可能有类似的东西是 AngularJS。
- 在 Express Handlebars 中创建一个
ng
助手。- 它只会返回其未解析的内容。但是我不知道该怎么做。
最佳答案
您的第一个解决方案是可能的,AngularJS 允许像这样更改文本插值的开始/结束符号:
appModule.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});
然后你可以在你的模板中使用它:
<div>{[{message}]}</div>
另见:$interpolateProvider documentation
希望这会有所帮助。
关于javascript - 使用 Express Handlebars 和 Angular JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366412/