Angularjs 用户界面路由器不';t路由到$urlRouterProvider。否则,在启用HTML5模式时
我将试着用一种非常简单的方式来表达这一点。Angularjs 用户界面路由器不';t路由到$urlRouterProvider。否则,在启用HTML5模式时,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我将试着用一种非常简单的方式来表达这一点。 以下是供参考的路由文件: 现在,当我评论$locationProvider.html5Mode(true),路线正常转到仪表板。这是URLhttp://localhost/#/dashboard但是当我尝试使用HTML5模式(在index.html中设置标记时,它不会路由到仪表板,而是路由到home.html。这就是我得到的http://localhost/(加载home.html,而不是dashboard.html) 我真的很想知道,当HTM
以下是供参考的路由文件:
现在,当我评论
$locationProvider.html5Mode(true)代码>,路线正常转到仪表板
。这是URLhttp://localhost/#/dashboard
但是当我尝试使用HTML5模式(在index.html
中设置标记时,它不会路由到仪表板
,而是路由到home.html
。这就是我得到的http://localhost/
(加载home.html,而不是dashboard.html)
我真的很想知道,当HTML5模式被注释时,为什么它会成功地路由到仪表板,而当它未被注释时,为什么它不会路由到仪表板
请社区帮助我。,这意味着为相关链接重写URL
这必须解决问题,(在仪表板url前面加上/
)
这是另一种方法(传递对象并将requireBase
设置为false
):
您是否尝试在state.state(“home.dashboard”、{url://dashboard”、templateUrl:“views/home/dashboard.html”}中的仪表板前面添加“/”;这似乎不起作用
angular
.module("app")
.config(function($stateProvider,$locationProvider,$urlRouterProvider){
$urlRouterProvider.otherwise("dashboard");
$stateProvider
.state("home",{
url: "/",
templateUrl: "views/home/home.html"
})
.state("login",{
url: "/login",
templateUrl: "views/login/login.html"
})
.state("home.dashboard",{
url: "dashboard",
templateUrl: "views/home/dashboard.html"
});
$locationProvider.html5Mode(true);
});
.state("home.dashboard",{
url: "/dashboard",
templateUrl: "views/home/dashboard.html"
});
.state("home.dashboard",{
url: "dashboard",
templateUrl: "views/home/dashboard.html"
});
$locationProvider.html5Mode({ enable: true, requireBase: false })