javascript - 使用 Express Handlebars 和 Angular JS

标签 javascript node.js angularjs express handlebars.js

背景

我目前正在构建一个使用 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/

相关文章:

html - 是否可以将函数内部循环中的变量值获取到全局变量中?

javascript - 过滤一个复杂的数据结构

javascript - 如何使用循环使用二维数组作为 X 和 y 坐标?

javascript - 尝试通过 Express JS 在移动设备和 Web 之间呈现不同的 View

javascript - Angularjs 下拉验证不起作用

javascript - 遍历 $element 的子元素

javascript - jQuery - 创建插件的正确方法

node.js - Heroku 上的 Brunch Build 失败

javascript - Node.js 中的 Kafka 消费者

javascript - 如何观察 DOM 的变化 AngularJS