我已经构建了一个应用程序,并且大部分内容都按预期工作,除了我有这三种状态,当我通过重新加载url刷新页面时,它会导致页面末尾的斜杠导致我的其他情况( ' / 404')触发。
整个平台上没有其他任何地方发生这种情况。奇怪的是,如果我更改其中一个状态的状态URL有问题,问题就解决了。
有问题的三个州网址是market
,refer-business
和invite-friends
。这些都是名为root
的shell视图的子项。我完全不知道造成这个问题的原因。
我也意识到,如果我从主模块配置中取出$urlRouterProvider.otherwise('/404');
,问题就会消失。
以下是两条不起作用的路线。
market.routes.js
function marketRoutes($stateProvider) {
$stateProvider.state('market', {
parent: 'root',
url: '/market?category', // If I change this to /blahblah, it works perfects
views: {
"@root": {
templateUrl: '/market/market.html',
controller: 'MarketController',
controllerAs: 'MarketCtrl'
}
},
resolve: {
Categories: ['MarketService', function (MarketService) {
return MarketService.getCategories();
}],
Products: ['MarketService', '$stateParams', function (MarketService, $stateParams) {
// By default the market should open on `deals of the moment` category
return MarketService.getProducts(0, 9, 1, $stateParams.category || 4);
}]
},
data: {
title: 'Market'
}
});
}
参阅-business.routes.js
function ReferBusinessRoutes($stateProvider) {
$stateProvider.state('refer-business', {
parent: 'root',
url: "/refer",
templateUrl: "/refer-business/refer-business.html",
controller: "ReferBusinessController",
controllerAs: "rbCtrl",
onEnter: function () {
this.data.title = "Refer a business";
},
data: {
title: 'Refer a business'
},
authenticate: true
});
}
我已经花了最近3天的时间,而且我什么都没有。希望有人在这里遇到过这个问题,或者有一些关于如何进一步调试它的技巧。
答案 0 :(得分:2)