带有 params 参数的基本参数。 UI - 路由器

Basic parameters with `params` parameters. UI - router

我在代码库中看到过这个:

.state('product', {
    url: productPageUrl + '/:slug',
    params: {
      productId: null,
      color: null,
      size: null,
      product: null
    },
    ...
},
...

这是什么意思? / 之后的所有数据都是 slug,对吧? 但是访问 $stateParams['productId'] returns 正确的 id。例如:url:

/product/product-name-homme-170758.html

return 170758 对于 $stateParams['productId'].

params 定义非 URL 路由参数。它们只是没有出现在 URL 中。在你的情况下 slug 应该等于 product-name-homme-170758.html,而 productId 只需设置为 ui-sref$state.go

在您的示例中,它将是:

ui-sref="product({ slug: 'product-name-homme-170758.html', productId: 170758 })"