使用angular做一個文件幫助,左邊是目錄樹,右側用到ng-view
首頁如下:
<p class="container-fluid bs-docs-container">
<p class="row">
<p id="doc_navbar" ng-controller="DocMenu" ng-init="init()" class="col-md-3 col-sm-3 col-sx-3">
<p class="bs-sidebar hidden-print affix-top">
<ul class="nav bs-sidenav">
<li class="panel-title">
<a href="#en-us_topic_0059503914.html">概述</a>
<a href="#en-us_topic_0055728380.html">FAQ</a>
</li>
</ul>
</p>
</p>
<p class="col-md-9 col-sm-9 col-sx-9" ng-view data-spy="scroll" data-target="doc_navbar">
<!-- <p style="margin-bottom: 100px;"></p> -->
</p>
</p>
<!-- docs end -->
</p>
js檔案如下
'use strict';
angular.module('portalDoc', ['ngRoute'])
.controller('DocMenu', function() {
})
.controller('DocContent', function($scope) {
})
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/en-us_topic_0059503914.html', { templateUrl: 'en-us_topic_0059503914.html'})
.when('/en-us_topic_0055728380.html', { templateUrl: 'en-us_topic_0055728380.html'})
.when('/en-us_topic_0054463579.html', { templateUrl: 'en-us_topic_0054463579.html'})
.when('/en-us_topic_0055728381.html', { templateUrl: 'en-us_topic_0055728381.html'})
.when('/en-us_topic_0055728382.html', { templateUrl: 'en-us_topic_0055728382.html'})
.when('/en-us_topic_0054463600.html', { templateUrl: 'en-us_topic_0054463600.html'})
.when('/en-us_topic_0054463621.html', { templateUrl: 'en-us_topic_0054463621.html'})
.when('/en-us_topic_0054463631.html', { templateUrl: 'en-us_topic_0054463631.html'})
.when('/en-us_topic_0054463504.html', { templateUrl: 'en-us_topic_0054463504.html'})
//$locationProvider.html5Mode(true);
});
正常訪問時連結是這樣 http://localhost:8011/home.html#/en-us_topic_0055728380.html
碰到一個問題無法解決,templateUrl中各html之間互相會鏈接,直接用的<a href="en-us_topic_0054463504.html">xxxx</a>
現在href前面沒有“#”,直接點擊連結訪問連結是http://localhost:8011/en-us_topic_0054463504.html
,只顯示範本頁面單獨的內容,不能載入首頁那些內容,少了/home.html的內容
由於模板的內容是用其他工具寫作生成,連結前沒有'#'(不方便加,因為還有其他用途)
在這種情況下,連結如何能夠路由到模板?能讓連結變成這種 http://localhost:8011/home.html#/en-us_topic_0055728380.html
#非常感謝!
另外,嘗試過使用locationProvider.html5Mode(true),訪問home.html時連結變成http://localhost:8011/
,左側連結去掉#能正常訪問,在home. html跳到en-us_topic_0054463504.html時,連結變成http://localhost:8011/en-us_topic_0054463504.html
,能正常訪問,但新開一個tab直接放http: //localhost:8011/en-us_topic_0054463504.html
又變成不載入首頁home.html那種情況
第一個問題你用路由了普通的a標籤是不能這樣跳轉的要用相應的路由a標籤跳轉或者用函數做路由跳轉
第二個問題你想直接訪問子路由這個是要服務器配偽靜態