我想在 Django 中使用 AngularJS,但是它们都使用 {{ }}
作为模板标签。有没有一种简单的方法可以将两者之一更改为使用其他自定义模板标签?
最佳答案
对于 Angular 1.0,您应该使用 $interpolateProvider api 来配置插值符号:http://docs.angularjs.org/api/ng.$interpolateProvider .
这样的事情应该可以解决问题:
myModule.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});
记住两点:
- 混合使用服务器端和客户端模板很少是一个好主意,应谨慎使用。主要问题是:可维护性(难以阅读)和安全性(双插值可能会暴露一个新的安全向量 - 例如,虽然服务器端和客户端模板本身的转义可能是安全的,但它们的组合可能不安全)。
- 如果您开始使用在其模板中使用
{{ }}
的第三方指令(组件),那么您的配置将破坏它们。 ( fix pending )
虽然对于第一个问题我们无能为力,除了警告人们,我们确实需要解决第二个问题。
关于javascript - AngularJS 与 Django - 模板标签冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302928/