Angular 路由、直接 URL 导航

2023-12-28

我在我的上定义了一个角度应用程序index.html文件。 使用角度路由我正在路由一个名为/erez加载带有模板的视图。它在应用程序内部工作 - 当我单击链接时/erez从导航栏上index.html它工作完美。 但是当我在地址栏上直接访问 my.site.com/erez 时,它给出了404。我明白为什么没有服务器端代码,但是有没有一种纯粹的角度方式来实现直接网址? 我的路由代码:

var app = angular.module('labApp', ['ngRoute', 'angular.filter']);

app.config(function ($routeProvider, $locationProvider) {
    $routeProvider.
        when('/', {
            templateUrl: 'index.html',
            controller: 'mainCtrl'
        }).
        when('/erez', {
            templateUrl: 'erez2.html',
            controller: 'erezCtrl'
        }).
        otherwise({
            redirectTo: '/'
        });

    $locationProvider.html5Mode(true);
});

您可以从中找到很多有用的信息这个链接 https://stackoverflow.com/questions/18214835/angularjs-how-to-enable-locationprovider-html5mode-with-deeplinking:

因此,您需要在标签内添加此基本 url 标签:

<base href="/" />

但请注意,此基本标记可能会破坏代码中的相关链接。或者您可以使用:

$locationProvider.html5Mode({
  enabled: true,
  requireBase: false
});

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 路由、直接 URL 导航 的相关文章

随机推荐