我正在使用Angular ngRoute
。
当我尝试路由到另一个页面时,它不会重定向到URL。它显示为http://localhost:58317/#!#%2Fstudents
myApp.js
var app = angular.module('MyApp', ['googlechart', 'ngRoute'])
app.controller('HomeCtrl', function ($scope) {
$scope.msg = "Hello Angular.....";
})
app.config(function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(false);
$locationProvider.hashPrefix("!");
$routeProvider.when("/home", {
templateUrl: '/Home/part1',
controller: 'routeDemoFirstController'
}).
when('/contact', {
templateUrl: '/Home/part2',
controller: 'routeDemoSecondController'
}).
when('/students', {
templateUrl: '/Home/part2',
controller: 'routeDemoSecondController'
})
})
Index.cshtml 这是我的.cshtml代码在这里我写锚标记
<div class="row">
<div>
<a href="/#/home">Home</a>
<a href="#/contact">Courses</a>
<a href="#/students">Students</a>
</div>
<ng-view></ng-view>
</div>
答案 0 :(得分:3)
您使用的是hash-bang前缀:
$locationProvider.hashPrefix("!");
它表示您的网址应为:
<a href="#!/home">Home</a>
如果您想从网址中删除!
(您还可以移除#
),可以查看 this answer 强>
答案 1 :(得分:1)
删除
$locationProvider.hashPrefix("!");
对html进行更改
<div class="row">
<div>
<a ng-href="#!/home">Home</a>
<a ng-href="#!/contact">Courses</a>
<a ng-href="#!/students">Students</a>
</div>
<ng-view></ng-view>
</div>