javascript - 带有 angularjs 的 SPA 仅加载 home.hmtl 页面,仅此而已
问题描述
我的 index.html
<html ng-app="myAngApp">
<head>
<meta charset="utf-8">
<link href="main.css" rel="stylesheet" type="text/css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-route.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="mainscripts.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto|Rokkitt" rel="stylesheet">
</head>
<body>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn">×</a>
<a href="#">Home</a>
<button id="dropdown-btn" class="dropdown-button">Training</button>
<div class="dropdown-content" id="dropdown-ctn">
<a href="#Stundenplan">Stundenplan</a>
<a href="#Training/MuayThai">Muay Thai</a>
<a href="#Training/Boxen">Boxen</a>
<a href="#Training/MMA">MMA</a>
<a href="#Training/BJJ">BJJ</a>
<a href="#Training/K1">K1</a>
<a href="#Training/Capoeira">Capoeira</a>
<a href="#Training/Junioren">Junioren</a>
<a href="#Training/WingTsun">Wing Tsun</a>
</div>
<a href="#/Team">Team</a>
<a href="#/Kontakt">Kontakt</a>
</div>
<div id="main">
<div class="menubutton">
<span class="openbtn">☰ </span>
</div>
<!-- Slideshow container -->
<div class="slidelogo-ctn">
<a href="#" >
<img src="Images/logo.png" class="logoslider" alt="MMA Vienna logo"/>
</a>
<div class="slides">
<img src="Images/img1.jpg" />
<img src="Images/img2.jpg" />
<img src="Images/img3.jpg" />
</div>
</div>
<div id="textandpicbox" ng-view>
</div>
我的 mainscripts.js
var app = angular.module('myAngApp', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl : 'pages/home.html',
controller : 'HomeController'
})
.when('/Stundenplan', {
templateUrl : 'pages/stundenplan.html',
controller : 'StdplController'
})
.when('/Training/MuayThai', {
templateUrl : 'pages/muaythai.html',
controller : 'MuaythaiController'
})
.when('/Training/Boxen', {
templateUrl : 'pages/boxen.html',
controller : 'BoxenController'
})
.when('/Training/MMA', {
templateUrl : 'pages/mma.html',
controller : 'MmaController'
})
.when('/Training/BJJ', {
templateUrl : 'pages/bjj.html',
controller : 'BjjController'
})
.when('/Training/K1', {
templateUrl : 'pages/k1.html',
controller : 'K1Controller'
})
.when('/Training/Capoeira', {
templateUrl : 'pages/capoeira.html',
controller : 'CapoeiraController'
})
.when('/Training/Junioren', {
templateUrl : 'pages/junioren.html',
controller : 'JuniorenController'
})
.when('/Kontakt', {
templateUrl : 'pages/kontakt.html',
controller : 'KontaktController'
})
.when('/Team', {
templateUrl : 'pages/team.html',
controller : 'TeamController'
})
.otherwise({redirectTo: '/'});
});
我的本地文件
现在这是问题,它只加载我的“home.html”文件,而在原始 index.hmtl 中,其他文件根本不起作用。我已经在 http 服务器上加载了网站,并在单击链接时检查了 url。它确实发生了变化,因此链接可以正常工作,但不知何故我的 ng-route 无法识别网址。我现在已经尝试了大约 2 个小时,但我一直停留在这一点上。我一直在查看代码,并不能真正找到缺少的东西。据我所知,应用控制器在场景中没有实际功能,还是我错了?
解决方案
我想说,您必须将第一个路由“/”移动到底部,因为我很确定每个 url 都以“/”开头,因此不会处理所有其他路由。
推荐阅读
- javascript - 如何使用 404 页面处理带有 .md 后缀的 URL?
- ruby-on-rails-6 - 如何修复 Rails 6 中的“Uncaught TypeError: $(...).datetimepicker is not a function”错误
- php - 如何修复“在下拉菜单中双击带有jquery的td标签来加载数据库的列”
- regex - 如何在 Google 表格中找到字符串中第一个数字的位置
- powershell - 如何将一个文件夹移动到另一个文件夹及其所有基础文件和文件夹?
- c# - 试图在 UWP 应用程序的 InkCanvas 中捕获 PointerEntered 事件
- angular - 有没有办法确定哪个 formControl 值发生了变化?
- nginx - 如何将nginx中的某个URL映射到外部网站
- javascript - 将复选框值绑定到父子模型
- java - 在 connect() 之后未调用 MediaBrowserCompat.ConnectionCallback.onConnected()