Angular UI 路由器 ui-sref 嵌套
Angular UI Router ui-sref nesting
目前正在 angular 开网店。结构如下
商店页面 - 类别 - 产品
.state('shop', {
url: '/shop'
.state('shop.category', {
url: '/:slug'
.state('shop.category.product', {
url: '/:slug'
然后我使用<a ui-sref=".category({slug: cat.slug})">{{ foo }}</a>
到link从商店页面到分类页面。这很好用。但是我如何 link 从类别页面到产品?
如你所想,我想让 URL 看起来像这样
www.site.c@m/shop/dynamic-category/dynamic-product
你应该使用,比如 .product
会告诉路由器我想进入子状态并传递 slug 值。
ui-sref=".product({slug: 'some-product'})"
但从技术上讲,您不应在子状态和父状态中都具有参数 slug
。因为当你想直接导航到子状态时,整个事情都会变得一团糟。
就像你当时做 shop.category.product({slug: 'some-cat', slug: 'some-product'})
一样,你可以在相同的 json 中有 slug
属性,javascript 将无法正确编译。
所以我建议您在每个 state
上为 slug 参数使用不同的名称,如下所示
.state('shop', {
url: '/shop'
.state('shop.category', {
url: '/:catslug'
.state('shop.category.product', {
url: '/:productslug'
目前正在 angular 开网店。结构如下
商店页面 - 类别 - 产品
.state('shop', {
url: '/shop'
.state('shop.category', {
url: '/:slug'
.state('shop.category.product', {
url: '/:slug'
然后我使用<a ui-sref=".category({slug: cat.slug})">{{ foo }}</a>
到link从商店页面到分类页面。这很好用。但是我如何 link 从类别页面到产品?
如你所想,我想让 URL 看起来像这样
www.site.c@m/shop/dynamic-category/dynamic-product
你应该使用,比如 .product
会告诉路由器我想进入子状态并传递 slug 值。
ui-sref=".product({slug: 'some-product'})"
但从技术上讲,您不应在子状态和父状态中都具有参数 slug
。因为当你想直接导航到子状态时,整个事情都会变得一团糟。
就像你当时做 shop.category.product({slug: 'some-cat', slug: 'some-product'})
一样,你可以在相同的 json 中有 slug
属性,javascript 将无法正确编译。
所以我建议您在每个 state
上为 slug 参数使用不同的名称,如下所示
.state('shop', {
url: '/shop'
.state('shop.category', {
url: '/:catslug'
.state('shop.category.product', {
url: '/:productslug'