【发布时间】:2014-08-10 00:23:55
【问题描述】:
我正在编写一个基本的 Node 应用程序,只是想用 Jade 渲染索引页面,然后让 Angular 在前端完成其余的工作。
这是翡翠(为了说明问题,稍微缩短了一点):
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>
关于为什么会发生这种情况的任何想法?
【问题讨论】:
-
已经尝试过div(ng-view="") ?
-
<!-- ngView: -->很可能是 Angular 在看到<div ng-view>并且没有在其中显示的路径时创建的占位符。检查您的$routeProvider配置。 -
谢谢大家。 @Infer-On 我确实尝试过并得到了相同的结果。看来我的 JS 有一个小错误,所以现在它按预期工作。但是@NikosParaskevopoulos,我不知道Angular会自动评论
ng-view元素,你知道这是否记录在某处吗?请将此添加为答案,以便我将其标记为已接受。