一尘不染

使用Express把手和Angular JS

angularjs

背景

我目前正在建立一个使用NodeJS作为服务器的网站,Express
Handlebars
(只是服务器端的Handlebars),并希望将AngularJS用于一些客户端。

问题

AngularJS和Handlebars使用相同的语法进行模板处理,
{{foo}}
这会导致一个问题,其中ExpressHandlebars首先会解释AngularJS代码,然后会抛出错误,因为它尝试提取的数据仅存在于Angular中而不是Node中。

问题

有没有办法让AngularJS和Express Handlebars一起工作?

可能的解决方案

  • 更改AngularJS的语法
    • 我看着BackboneJS,看起来可以更改语法了。可能与AngularJS类似。
  • ng在Express Handlebars中创建一个助手。
    • 它只会返回其未解析的内容。但是我不知道如何做到这一点。

阅读 237

收藏
2020-07-04

共1个答案

一尘不染

您的第一个解决方案是可能的,AngularJS允许更改文本插值的开始/结束符号,如下所示:

appModule.config(function($interpolateProvider) {
  $interpolateProvider.startSymbol('{[{');
  $interpolateProvider.endSymbol('}]}');
});

然后,您可以在模板中使用它:

<div>{[{message}]}</div>

另请参阅:$
interpolateProvider文档

希望这可以帮助。

2020-07-04