注册用于封送和拆组数据的自定义类型。此处的文档:http : //angular-ui.github.io/ui-
router/site/#/api/ui.router.util。$ urlMatcherFactory
让我们定义一个自定义类型。实现编码,解码,是和模式:
var productType = { enpre: function(str) { return str && str.replace(/ /g, "-"); }, depre: function(str) { return str && str.replace(/-/g, " "); }, is: angular.isString, pattern: /[^/]+/ };现在,将自定义类型注册为“产品”
$urlMatcherFactoryProvider:
app.config(function($stateProvider, $urlRouterProvider, $urlMatcherFactoryProvider) { $urlMatcherFactoryProvider.type('product', productType);}现在,将您的url参数定义为产品,然后自定义类型将为您完成映射:
$stateProvider.state('baseproductdetail', { url: '/detail/{productName:product}-:productId/', controller: function($scope, $stateParams) { $scope.product = $stateParams.productName; $scope.productId = $stateParams.productId; }, template: "<h3>name: {{product}}</h3><h3>name: {{productId}}</h3>" });工作小伙伴:http
://plnkr.co/edit/wsiu7cx5rfZLawzyjHtf?
p=
preview



