带有Django的AngularJS-模板标记冲突

我想在Django中使用AngularJS,但是它们都使用{{}}作为模板标记。有没有一种简单的方法可以将这两个标记中的一个更改为使用其他自定义模板标记

对于Angular 1.0,应使用$interpolateProvider API配置插值符号:http://docs.angularjs.org/api/ng.美元的价格

像这样的事情应该可以做到:

myModule.config(函数($interpolateProvider){
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});

记住两件事:

  • 混合使用服务器端和客户端模板很少是一个好主意,应该谨慎使用。主要问题是:可维护性(难以阅读)和安全性(双重插值可能会暴露新的安全向量-例如,服务器端和客户端模板本身的转义可能是安全的,但它们的组合可能不是)
  • 如果您开始使用在其模板中使用{{}的第三方指令(组件),那么您的配置将破坏它们。(修正待定)

虽然我们对第一个问题无能为力,除了警告人们,但我们确实需要解决第二个问题

发表评论