404

内にHTMLスニペットをインクルードしようとしてng-repeatいますが、インクルードを機能させることができません。の現在の構文ng-includeは以前のものとは異なるようです。

<div ng-include src="path/file.html"></div>

しかし、公式のドキュメントでは、それは使用するように言っています

<div ng-include="path/file.html"></div>

しかし、ページの下には次のように表示されます

<div ng-include src="path/file.html"></div>

とにかく、やってみました

<div ng-include="views/sidepanel.html"></div>
<div ng-include src="views/sidepanel.html"></div>
<ng-include src="views/sidepanel.html"></ng-include>
<ng-include="views/sidepanel.html"></ng-include>
<ng:include src="views/sidepanel.html"></ng:include>

私のスニペットはあまりコードではありませんが、多くのことが起こっています。問題を引き起こす可能性のあるテンプレートを動的ng-repeatに読み込むで読んだので、の内容をsidepanel.html単語だけに置き換えましたがfoo、それでも何もありません。

また、次のようにページで直接テンプレートを宣言してみました。

<script type="text/ng-template" id="tmpl">
    foo
</script>

ng-includeそして、スクリプトを参照するすべてのバリエーションを実行しますがid、それでも何もありません。

私のページにはもっとたくさんの情報が含まれていましたが、今ではこれだけにまとめました。

<!-- index.html -->
<html>
<head>
<!-- angular includes -->
</head>
<body ng-view="views/main.html"> <!-- view is actually set in the router -->
    <!-- views/main.html -->
    <header>
        <h2>Blah</h2>
    </header>
    <article id="sidepanel">
        <section class="panel"> <!-- will have ng-repeat="panel in panels" -->
            <div ng-include src="views/sidepanel.html"></div>
        </section>
    </article>
<!-- index.html -->
</body>
</html>

ヘッダーはレンダリングされますが、テンプレートはレンダリングされません。コンソールまたはノードからエラーは発生しません。src="views/sidepanel.html"開発ツールでリンクをクリックすると、テンプレートに移動します(そして表示されますfoo)。

4

8 に答える 8

780

src二重引用符内で文字列を一重引用符で囲む必要があります。

<div ng-include src="'views/sidepanel.html'"></div>

ソース

于 2012-12-19T00:11:08.883 に答える
135
    <ng-include src="'views/sidepanel.html'"></ng-include>

また

    <div ng-include="'views/sidepanel.html'"></div>

また

    <div ng-include src="'views/sidepanel.html'"></div>

覚えておくべきポイント:

--> src にスペースはありません

--> src のダブル クォーテーション内にシングル クォーテーションを使用することを忘れないでください

于 2014-06-23T13:59:47.540 に答える
10

パーシャルから最短の「アイテムレンダラー」ソリューションを探している人のために、 ng-repeat と ng-include の組み合わせ:

<div ng-repeat="item in items" ng-include src="'views/partials/item.html'" />

実はリピーター1台ならこのまま使えますが、2台はダメ!Angular (v1.2.16) は、これらを 2 つ続けて使用すると、何らかの理由でフリークアウトするため、xhtml の前の方法で div を閉じる方が安全です。

<div ng-repeat="item in items" ng-include src="'views/partials/item.html'"></div>

于 2014-05-29T06:55:08.450 に答える