我开始使用AngularJS,令人惊讶的是这段超级简单的代码无效。该页面由expressJS和hogan渲染引擎提供。
控制台没有说什么,我的文件路径都正确并经过双重检查。这种简单的数据绑定仍然不起作用。请帮忙。
<!doctype html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>Login</title>
<link rel="stylesheet" href="../css/style.css">
<script src="../js/angular.min.js"></script>
<script src="../js/angular-route.min.js"></script>
<script src="../js/angular-cookies.min.js"></script>
<script src="../js/angular-resource.min.js"></script>
<script src="../js/angular-animate.min.js"></script>
</head>
<body>
<div ng-app>
<input type="text" ng-model="unm">
<h2>Hello {{unm}}</h2>
</div>
</body>
</html>
答案 0 :(得分:2)
问题解决了。正如我所提到的,我在Express中使用Hogan渲染引擎,它与AngularJS具有相同的模板括号{{}}。因此,当呈现页面时,Hogan会删除所有{{}},从而虚拟删除{{unm}}。
我通过将此行添加到ExpressJS应用程序中解决了这个问题:
app.locals.delimiters = '{{{ }}}';
现在,Hogan变量可以放在{{{somevariable}}}中,而Angular可以使用其通常的{{unm}}。他们现在不再发生冲突。