私は基本的な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)
ディレクティブを含むDIVではなく、レンダリングされたHTML内のHTMLコメントがどのようになったかに注目してください。
<!-- ngView: -->
div(ng-view)
翡翠内で次のいずれかに変更すると、同じ結果が得られました。
ng-view
<div ng-view></div>
| <div ng-view></div>
なぜこれが起こっているのかについてのアイデアはありますか?
これは実際にはジェイドとは何の関係もありませんでした。@NikosParaskevopoulosによるコメントで述べられているように、<!-- ngView: -->
HTMLコメントは、<div ng-view>
を表示し、表示するルートがない場合にAngularによって作成されたプレースホルダーです。
Angularルートを再定義すると問題が解決しました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加