Javascript AngularJS中的重复路由
我需要能够在AngularJS通过这两条路线:Javascript AngularJS中的重复路由,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我需要能够在AngularJS通过这两条路线: .state('app.article', { url: '/:catName/:articleName', views: { 'menuContent': { templateUrl: 'templates/article.html', controller: 'ArticleCtrl' } } }) .state('app
.state('app.article', {
url: '/:catName/:articleName',
views: {
'menuContent': {
templateUrl: 'templates/article.html',
controller: 'ArticleCtrl'
}
}
})
.state('app.category', {
url: '/:catName/:subcatName',
views: {
'menuContent': {
templateUrl: 'templates/category.html',
controller: 'CategoryCtrl'
}
}
})
问题是它们都是完全一样的
我唯一的区别是文章名以-XXXXXX结尾,其中XXXXXX是一个数字
我该怎么做
谢谢。您需要包括一些区分这些路线的方法。这里有一种方法
.state('app.article', {
url: '/:catName/article/:articleName',
views: {
'menuContent': {
templateUrl: 'templates/article.html',
controller: 'ArticleCtrl'
}
}
})
.state('app.category', {
url: '/:catName/category/:subcatName',
views: {
'menuContent': {
templateUrl: 'templates/category.html',
controller: 'CategoryCtrl'
}
}
})
这不是一个选项,因为URL来自外部源。这是他们的结构,不能改变。有没有办法检查url是否以数字结尾?您可以尝试以下方法。或者,您可以对两条路由使用相同的控制器,并根据参数数据执行不同的逻辑