0

これは元の質問の編集です:

ディレクティブを使用ng-includeしてすべてのページでヘッダー HTML を再利用すると、トップ ナビゲーション バーの読み込み/レンダリングにわずかな遅延が発生します。問題を軽減するために、パーシャルを事前にロードするようにng-include含む header.html ファイルを指定しようとしています。<script type='text/ng-template' id='header.html>...</script>

しかし、私はそれを機能させることができないようです。header.html のコンテンツを index.html に直接貼り付けた場合にのみ成功しました。これは、ヘッダー コードを再利用する目的を無効にします。

スクリプトのドキュメントはインライン テンプレートの使用例のみを示しており、ngIncludeのドキュメントはテンプレートの例では使用していませんscript

ngIncludeangularのscriptディレクティブを使用するファイルをロードできますか?

index.html:

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
  <title>Testing</title>
  <link rel="stylesheet" href="css/bootstrap.css">
  <link rel="stylesheet" href="css/custom.css">
  <script src='lib/angular/angular.js'></script>
  <script src='js/main.js'></script>
</head>
<body>

<div ng-controller="HeaderCtrl">
  <div ng-include src="header.url"></div>
  <!-- script works when it is put directly in index.html:
  <script type="text/ng-template" id="header.html">
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <ul class="nav">
          <li>
            <a class="brand" href="#">Test</a>
          </li>
          <li><a href="#">One</a></li>
          <li><a href="#">Two</a></li>
          <li><a href="#">Three</a></li>
        </ul>
      </div>
    </div>
  </div>
  </script>
  -->
</div>
</body>
</html>

header.html:

<script type="text/ng-template" id="header.html">
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <ul class="nav">
          <li>
            <a class="brand" href="#">Test</a>
          </li>
          <li><a href="#">One</a></li>
          <li><a href="#">Two</a></li>
          <li><a href="#">Three</a></li>
        </ul>
      </div>
    </div>
  </div>
</script>

main.js:

"use strict";
// I've also tried this with "use strict"; removed

var myApp = angular.module('myApp', []);

function HeaderCtrl($scope) {
    $scope.header = {name: "header.html", url: "header.html"};
}
4

2 に答える 2

2
<div ng-include src="header.url"></div>

する必要があります

<div ng-include src="'header.url'"></div>

これが rjm226 の「二重引用符が必要だった」という意味かどうかはわかりません。ng-include には double と single の両方が必要です。最近これにハマってます。

于 2014-09-18T02:11:11.763 に答える
1

これは完全に機能します。私のサーバーで試してみました。二重引用符が必要でした。「厳格な使用」とは何ですか。それは私の側でそれを壊します。

于 2013-12-12T22:13:56.417 に答える