我一直在尝试从ng-router迁移到ui-router并遇到以下问题。
我有静态页面(家庭,定价,隐私政策等),我有我的应用程序及其观点。
我的设置如下:
HTML:
<div ui-view="header"></div>
<div ui-view="content"></div>
<div ui-view="footer"></div>
州提供者/路由
$stateProvider
// HOME ROUTES
.state('home', {
url:'/',
views: {
'header': {
templateUrl: 'modules/home/partials/navbar.html',
//controller: 'HeaderController'
},
'content': {
templateUrl: 'modules/home/partials/home.html',
controller: 'HomeCtrl'
},
'footer': {
templateUrl: 'partials/footer.html',
controller: 'FooterCtrl'
}
}
})
.state('home.pricing', {
url: 'pricing',
views: {
'content@': {
templateUrl: 'modules/home/partials/pricing.html',
controller: 'HomeCtrl'
}
}
})
.state('home.privacy', {
url: 'privacy',
views: {
'content@': {
templateUrl: 'modules/home/partials/privacy.html',
controller: 'HomeCtrl'
}
}
})
// APP ROUTES
.state('app', {
url:'/app',
views: {
'header': {
templateUrl: '/partials/menu/menu.html',
},
'content': {
templateUrl: 'modules/app/partials/view1.html',
controller: 'AppCtrl',
},
'footer': {
templateUrl: 'partials/footer.html',
controller: 'FooterCtrl'
}
},
})
.state('app.view1', {
url: 'view1',
views: {
'content@': {
templateUrl: 'modules/app/partials/view1.html',
controller: 'AppCtrl'
}
}
})
.state('app.view2', {
url: 'view2',
views: {
'content@': {
templateUrl: 'modules/app/partials/view2.html',
controller: 'AppCtrl'
}
}
})
请注意我的基本布局是header-content-footer,但我在静态(主页)页面和我的应用页面之间使用了不同的标题和内容。
使用此设置,example.com /#/,example.com /#/ pricing等工作 AND example.com/#/app有效。
但是,example.com /#/ app / view1,example.com /#/ app / view2无法正常工作并向/partials/app/view.html发出失败的GET请求(这不是我的html项目)。
我怀疑我在这里错过了一个基本概念。有什么想法吗?
我一直在使用以下教程作为指南:http://www.funnyant.com/angularjs-ui-router/
答案 0 :(得分:1)
你的网址值应该以/我相信开始。
url:&#39; / view1&#39;