gpt4 book ai didi

angularjs - 从 AngularJS 路由中删除 #

转载 作者:行者123 更新时间:2023-12-01 10:36:34 26 4
gpt4 key购买 nike

我检查了Single Page Apps with AngularJS Routing and Templating教程并找到Pretty URLs in AngularJS: Removing the #从 URL 中删除 # 标签的教程。我做了所有的事情,但我无法让应用程序工作。有人可以帮助解决这个问题会很有帮助。这些是我的代码,

// script.js

// create the module and name it scotchApp
// also include ngRoute for all our routing needs
var scotchApp = angular.module('scotchApp', ['ngRoute']);

// configure our routes
scotchApp.config(function($routeProvider, $locationProvider) {
$routeProvider

// route for the home page
.when('/', {
templateUrl: 'pages/home.html',
controller: 'mainController'
})

// route for the about page
.when('/about', {
templateUrl: 'pages/about.html',
controller: 'aboutController'
})

// route for the contact page
.when('/contact', {
templateUrl: 'pages/contact.html',
controller: 'contactController'
});
// use the HTML5 History API
$locationProvider.html5Mode(true);
});

// create the controller and inject Angular's $scope
scotchApp.controller('mainController', function($scope) {
// create a message to display in our view
$scope.message = 'Everyone come and see how good I look!';
});

scotchApp.controller('aboutController', function($scope) {
$scope.message = 'Look! I am an about page.';
});

scotchApp.controller('contactController', function($scope) {
$scope.message = 'Contact us! JK. This is just a demo.';
});
<!-- index.html -->
<!DOCTYPE html>

<!-- define angular app -->
<html ng-app="scotchApp">
<head>
<base href="/">
<!-- SCROLLS -->
<!-- load bootstrap and fontawesome via CDN -->
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" />

<!-- SPELLS -->
<!-- load angular via CDN -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>
<script src="script.js"></script>
</head>

<!-- define angular controller -->
<body ng-controller="mainController">

<!-- HEADER AND NAVBAR -->
<header>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/">Angular Routing Example</a>
</div>

<ul class="nav navbar-nav navbar-right">
<li><a href="#"><i class="fa fa-home"></i> Home</a></li>
<li><a href="#about"><i class="fa fa-shield"></i> About</a></li>
<li><a href="#contact"><i class="fa fa-comment"></i> Contact</a></li>
</ul>
</div>
</nav>
</header>

<!-- MAIN CONTENT AND INJECTED VIEWS -->
<div id="main">

<!-- angular templating -->
<!-- this is where content will be injected -->
<div ng-view></div>

</div>
</body>
</html>

After the first tutorial my URL become file:///C:/Users/MAX/Desktop/angular/AngularJS%20Routing/index.html#/ but after Second one URL becomes file:///C:/Users/MAX/Desktop/angular/AngularJS%20Routing/index.html#%2F and links stop woking

最佳答案

很容易解决。

您只需在声明模块的位置注入(inject) ($locationProvider) 并将此代码 ($locationProvider.html5Mode(true)) 放入函数中。像这样。

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

myApp.config(function ($locationProvider){
$locationProvider.html5Mode(true);
});

关于angularjs - 从 AngularJS 路由中删除 #,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34369279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com