BaseUrl:/en/products/
我有:状态网址:
/en/products/doors?color=red&type=shaped
此状态包含要销售的商品列表。由params过滤。
当我点击一个项目(名称:Red Beech Door,friendlyUrl:red-beech-door)时,我想要打开项目详细信息的模态,并将URL更改为:
/en/products/doors/red-beech-door
我的代码app.js:
angular.module('app').config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise("/");
$stateProvider
.state('general', {
url: "/",
controller: 'productsGeneralController',
templateUrl: '/static/templates/classic.html',
})
.state('filter', {
url: "/:category",
reloadOnSearch: true,
controller: 'productsFilterController',
templateUrl: '/static/templates/filter.html',
})
.state('filter.concrete', {
url: "/:product",
onEnter: ['$stateParams', '$state', '$uibModal', function ($stateParams, $state, $uibModal) {
$uibModal.open({
templateUrl: "static/templates/pr.html",
controller: 'modalProductController',
});
}],
})
});
我在filter.html中的代码:
<a ng-href="/{{currentCategory}}/{{item.friendlyUrl}}">
...
</a>
我需要实现的目标:
/en/products/doors/red-beech-door
/en/products/doors?color=red&type=shaped
之前/en/products/doors?color=red&type=shaped
我尝试用$ routeProvider制作它,但后来我尝试了$ stateProvider。 也许它可以通过$ routeProvider来实现。请帮忙。
如果你提供plunker或jsfiddle,你会度过我的一天。
答案 0 :(得分:0)
您可以尝试这种方法:
https://lingohub.com/blog/2015/06/bootstrap-modal-window-custom-url-angularjs/
它使用$ stateManager顶部的包装器来方便模态状态的注册,并处理处理模态的麻烦。 请注意,它基于UI Bootstrap模式。