我正在编写一个基本的Node应用程序,只想用Jade渲染索引页面,然后让Angular在前端执行其余操作。
这是Jade(略微缩短以说明问题):
doctype html
html
include ../includes/head
body(ng-app="TestApp" ng-controller="TestAppController")
div(ng-view)
include ../includes/foot
编译成以下HTML:
<html>
<head>
<meta charset="utf-8">
<title>Example App</title>
<link rel="stylesheet" href="/dist/css/app.css">
</head>
<body ng-app="ExampleApp" ng-controller="ExampleAppController" class="ng-scope">
<!-- ngView: -->
<footer class="page-footer">
<ul class="page-footer-links">
<li><a href="http://www.twitter.com/someusername" target="_blank">Some Twitter User</a></li>
</ul>
</footer>
<script src="/dist/js/app.min.js"></script>
</body>
</html>
请注意div(ng-view)
现在是呈现的HTML中的HTML注释,而不是带有该指令的DIV:
<!-- ngView: -->
将Jade中的div(ng-view)
更改为以下任何一项对我产生了相同的结果:
ng-view
<div ng-view></div>
| <div ng-view></div>
有关为何发生这种情况的任何想法?
答案 0 :(得分:2)
这实际上与Jade无关。正如@NikosParaskevopoulos的评论中所述,<!-- ngView: -->
HTML评论是Angular在看到<div ng-view>
时创建的占位符,并且没有显示在其中的路径。
重新定义我的Angular路线解决了这个问题。