请问如何处理tornado模板和angular.js的 {{ }} 表达式冲突问题?
程序员文章站
2022-04-07 21:54:59
...
回复内容:
Angular 从1.0开始就支持用$interpolateProvider自定义分隔符 http://docs.angularjs.org/api/ng.%24interpolateProvider因为Angular原生支持自定义分隔符, 而一些后端的模板语言不支持自定义分隔符,个人倾向于在Angular端自定义分隔符。 虽然有各种hack可以让前后端都用{{ }} 做分隔符,但这会让前后端的代码更难辨别,不好维护,所以不推荐在后端模板和混用相同的分隔符。
ng-app="customInterpolationApp">
"http://code.angularjs.org/1.2.0rc1/angular.min.js">
"script.js">
ng-app="App" ng-controller="DemoController as demo">
//demo.label//
angularjs的模板全部保存为独立的html文件,由nginx直接去获取?如果说,需要通过tornado去动态生成angularjs的模板,那么是否可以考虑重构代码去避免这种情况发生? 还有一种规避方案是用ng-bind 替代两个花括号,比如:
{{name}}
我们的解决方法是修改tornado的模板引擎,加入了一个plain关键字。通过像{% plain 'some_angular_template.html' %}
{{! name }}
前后端分离,不使用任何后端模板,不管是tornado的模板还是jinja2/mako, 统统干掉。前后端通过api返回json数据进行通信。
angular是为富客户端而生的产物,个人倾向于把tornado变成一个restful服务器。所以前端工程应该是放在apache下更佳,不应该与tornado放到一起。随着TSA的流行,应用服务器逐渐走向轻量化。如果仅仅作为WEB工程,个人不建议重度使用angular。应该考虑SEO的优化,走freemaker的路线。 直接去改tornado模板渲染部分源代码 就几行代码 改成另外一个你自己想要的的标记 比如“{@ @}”
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
下一篇: unity小项目——扫雷
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论