Javascript 基本离子路由问题
我有一个根状态,它不是抽象的Javascript 基本离子路由问题,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我有一个根状态,它不是抽象的 $stateProvider .state('app', { url: "/app", templateUrl: "templates/menu.html", controller: 'AppCtrl' }) .state('app.dashboard', { url: '/dashboard', views: { 'landing': { templateUrl: '
$stateProvider
.state('app', {
url: "/app",
templateUrl: "templates/menu.html",
controller: 'AppCtrl'
})
.state('app.dashboard', {
url: '/dashboard',
views: {
'landing': {
templateUrl: 'templates/dashboard.html',
controller: 'DashboardCtrl'
}
}
});
$urlRouterProvider.otherwise('/app');
现在,我的问题是:
- 我转到url:“/app”。它工作正常,AppCtrl将我带到“/dashboard”
- 我转到url:“/dashboard”。它也可以工作,并且仪表板内容已加载
- 现在,我转到url:“/dashboar”。我现在在地址栏中看到的url是“/app”,但也可以看到仪表板模板。这是为什么??不应该是这样的,对吧
- 状态
app.dashboard
是app
的子项,因此其url是/app/dashboard
,而不是/dashboard
然后,当您转到/dashboar
时,由于$urlRouterProvider,因此未指定此url。否则('/app')代码>您将被重定向到/app
由于您向我们展示的代码,我认为您使用的是侧菜单,因此在/templates/menu.html
中:
您正在调用app.dashboard
的视图“landing”,因此
的名称
参数也应该是“landing”
然后,如果侧菜单具有其他状态,则视图的名称也应为“landing”
如果您没有使用侧菜单,请向我们提供menu.html
内容以及dashboard.html
希望它对您有所帮助。您可以使用plunkr或类似的东西吗?我已经将所有代码都放在这里了……老实说,这基本上很简单。当我输入错误的url时,模板没有被卸载。不知道为什么AppCtrl看起来像什么?它会将你重定向到app.dashboard吗?@Tim是的,但只需点击一个按钮……不会加载。即使是重定向,它仍然会显示“/dashboard”url,对吗?。不是“/app”,并且仍然加载了仪表板内容?我觉得你的路由器代码很好,没有plunkr或codepen很难说,对不起!