原來這是問題的一個編輯的部分:angularjs - 點NG-包括到包含腳本指令
當使用ng-include
指令重複使用的所有網頁上我的頭HTML,有輕微的延遲加載/渲染頂部的導航欄。爲了緩解這個問題,我試圖將ng-include
指向包含<script type='text/ng-template' id='header.html>...</script>
的header.html文件,以便預加載該部分。
但我似乎無法得到它的工作。我只是直接在index.html中粘貼header.html的內容才成功,這違背了重用頭文件的目的。
script的文檔僅給出使用內聯模板的示例,ngInclude的文檔在示例模板中不使用script
。
Can ngInclude
加載文件,使用角的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"};
}
使用任一種方法,只是刪除周圍的額外引號。閱讀'ng-include'文檔 – charlietfl
你的第一種方法應該是最好的解決方案。也許顯示一些代碼,以便我們可以解決它爲什麼不能在你身邊工作。 – NicolasMoise
@NicolasMoise我已經更新了這個問題,以便它專注於第一種方法,並根據請求包含了一些代碼。 – billyw