Django和AngularJS在模板中使用同样的符号来引用变量,例如 {{variable_name}}。
有两种解决办法,各有利弊。一个修改AngularJS模板语法,另一个使用Django的标签。
1. 修改Django:
使用verbatim标签,verbatim标签在Django 1.5以后被加入Django。缺点是使用起来比较啰嗦。
2. 更简洁的解决方案是修改AngularJS的模板语法:
var my_app = angular.module('MyApp').config(function($interpolateProvider) { $interpolateProvider.startSymbol('{$'); $interpolateProvider.endSymbol('$}'); });
现在你可以区分变量来自server端{{ varname }}, 还是client端{$ varname $}
缺点是你不能结合第三方的AngularJS使用第三方的指令了。
本文介绍了解决Django和AngularJS模板冲突的方法,包括修改Django的verbatim标签和调整AngularJS的模板语法。通过改变AngularJS的变量符号,可以清晰地区分服务器端和客户端变量。
535

被折叠的 条评论
为什么被折叠?



