如何将用户重定向到默认网址

时间:2015-07-09 17:44:02

标签: angularjs angular-ui-router

我使用angular-ui-router,HTML5模式设置为false - 我使用hashbang。当用户点击mydomain.com时,我需要将其重定向到mydomain.com/#/welcome,我该怎么做?

我查看了ui-router源代码,当mydomain.com被点击时,$location.path()"",因此这种方法.when("", "/welcome")无法正常工作由于.when(""会转换为此/^$/正则表达式,并且在针对此正则表达式""进行null测试时会返回If month = 3 OrElse month = 6 OrElse month = 9 OrElse month = 12 Then 'do stuff End If

3 个答案:

答案 0 :(得分:1)

这似乎是一个可行的解决方案:

appModule.run(['$location', function ($location) {

    if ($location.path() === "") {
        $location.path("/");
    }

答案 1 :(得分:0)

如果当前网址与您的任何州匹配,请使用$ urlRouterProvider.otherwise重定向到您的欢迎页面。

$urlRouterProvider.otherwise('/welcome');

请参阅此堆栈溢出问题:Otherwise on StateProvider

答案 2 :(得分:0)

如果您只想展示welcome.html,可以执行以下操作

.when('/', {
                templateUrl: 'welcome.html',
                controller: 'homeCtrl'
            })

否则,如果您想将用户重定向到mydomain.com/#/welcome,您可以使用window.locations,或者您可以将其作为homeCtrl的一部分来处理,您可以使用$ location.path重新定位它(' /欢迎');以下是它的路线

.when('/welcome', {
                templateUrl: 'welcome.html',
                controller: 'welcomeCtrl'
            })