suchen

Heim  >  Fragen und Antworten  >  Hauptteil

angle.js – Wenn vor dem Link in der Angular-Vorlage kein # steht, wie kann ich ihn dann an die Vorlage weiterleiten?

Verwenden Sie Angular, um einen Dokumenthelfer zu erstellen. Die linke Seite ist der Verzeichnisbaum und die rechte Seite verwendet ng-view.
Die Homepage sieht wie folgt aus:

    <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>

Die js-Datei lautet wie folgt

'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);
});

Der Link sieht beim normalen Zugriff so aus http://localhost:8011/home.html#/en-us_topic_0055728380.html

Ich bin auf ein Problem gestoßen, das nicht gelöst werden konnte. Der HTML-Code in templateUrl wird direkt miteinander verknüpft. <a href="en-us_topic_0054463504.html">xxxx</a> <a href="en-us_topic_0054463504.html">xxxx</a>
现在href前面没有“#”,直接单击链接访问链接是 http://localhost:8011/en-us_topic_0054463504.htmlJetzt href Es gibt kein „#“ davor. Klicken Sie direkt auf den Link http://localhost:8011/en-us_topic_0054463504.html Der Inhalt der Startseite kann nicht geladen werden. Es fehlt der Inhalt von /home.html

Da der Inhalt der Vorlage mit anderen Tools geschrieben und generiert wird, steht vor dem Link kein „#“ (es ist nicht praktisch, es hinzuzufügen, da es andere Verwendungsmöglichkeiten gibt)

Wie kann in diesem Fall der Link zur Vorlage weitergeleitet werden? Kann den Link so aussehen lassen

http://localhost:8011/home.html#/en-us_topic_0055728380.html

Vielen Dank!


Außerdem habe ich versucht, locationProvider.html5Mode(true) zu verwenden. Beim Zugriff auf home.html wurde der Link zu

geändert und die Seite home.html wurde nicht geladen

高洛峰高洛峰2701 Tage vor991

Antworte allen(1)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱2017-06-27 09:20:42

    第一个问题 你用路由了 普通的a标签是不能这样跳转的 要用相应的路由a标签跳转 或者用函数做路由跳转
    第二个问题 你想直接访问子路由这个是要服务器配伪静态

    Antwort
    0
  • StornierenAntwort