如何在AngularJS中定义默认路由?

How to define a default route in AngularJS?

我试图在 angularjs 命中以下 url

时定义默认路由

http://localhost:62831/#/

默认路由应该转到下面的主页。

http://localhost:62831/

如何使用 $urlRouterProvider 定义它?下面的行似乎没有任何区别。

$urlRouterProvider.otherwise('/');

有什么建议吗?谢谢!

 appl.config(['$stateProvider', '$urlMatcherFactoryProvider', '$locationProvider', '$urlRouterProvider',
    function ($stateProvider, $urlMatcherFactoryProvider, $locationProvider, $urlRouterProvider) {

        $urlMatcherFactoryProvider.caseInsensitive(true);

        $stateProvider
            .state('home', {
                url: '',
                templateUrl: 'search',
                controller: 'applCtrl'
            })
            .state('person', {
                url: '/person',
                templateUrl: 'Person',
                controller: 'applPersonCtrl'
            })

        $urlRouterProvider.otherwise('/');

        $locationProvider.hashPrefix(''); //it defaults to ! after angularjs 1.5

    }]);

您可以在您网站的 url 上进行匹配(带有尾随 /)并按如下方式明确转到主页状态,同时还具有未找到 url 条件:

$urlRouterProvider.otherwise(function ($injector, $location) {
    var $state = $injector.get('$state');
    if ($location.$$url === '' || $location.$$url === '/') {
        $state.go('home');
        return;
    }
    $state.go('notFound'); // some custom not found page
});