问题描述
我在本地试了一下angular的简单例子
myapp.jsvar app = angular.module('myapp',[]);app.controller('myctrl', function($scope){ $scope.uplu = function(){$scope.su = $scope.lu; };});angular.bootstrap(document, ['myapp]);
这个是 angular代码
html<html><head></head><body> <p ng-controller='myctrl'><p>请输入 字符</p><input type='text' ng-model='lu'><button ng-click='uplu()'>uplu</button><p>{{su}}</p> </p><script src='http://cdn.staticfile.org/angular.js/1.3.0-beta.13/angular.min.js'></script><script src='https://www.6hehe.com/wenda/myapp.js'></script></body></html>
这个在本地上是没有什么问题的, 可以运行出来 但是在服务器上运行angular就失效了(服务器也只是把页面渲染出来而已)
后台用的是 flask 只是简单渲染了一下页面,而且上面的模块都能加载的到而且不报错, 有没有人遇到过这样的问题啊。
问题解答
回答1:找到了原来是 angular渲染模板和 flask默认的jinja2出现了冲突, 解决方法是在静态文件里添加{% raw %}{% endraw %} 这样jinja2就不会渲染其中的内容 要么就采用 {{'{{}}'}}的方法。 主要还是 jinja2和 angularde {{}} 占位符是一样的

