我使用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
。
答案 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'
})