Angularjs 角度UI路由器UI sref嵌套
目前正在建设一个在线商店。结构如下: 商店页面-类别-产品Angularjs 角度UI路由器UI sref嵌套,angularjs,routing,angular-ui-router,angularjs-routing,Angularjs,Routing,Angular Ui Router,Angularjs Routing,目前正在建设一个在线商店。结构如下: 商店页面-类别-产品 .state('shop', { url: '/shop' .state('shop.category', { url: '/:slug' .state('shop.category.product', { url: '/:slug' 然后我使用{{foo}}从商店页面链接到分类页面。这个很好用。但是,如何从类别页面链接到产品 你可以想象,我想保持URL的样子 www.site。c@
.state('shop', {
url: '/shop'
.state('shop.category', {
url: '/:slug'
.state('shop.category.product', {
url: '/:slug'
然后我使用{{foo}}
从商店页面链接到分类页面。这个很好用。但是,如何从类别页面链接到产品
你可以想象,我想保持URL的样子
www.site。c@m/店铺/动态类别/动态产品
您应该使用,比如
。product
将告诉路由器我想进入子状态&将传递slug值
ui-sref=".product({slug: 'some-product'})"
但从技术上讲,您不应该在子状态和父状态下都有参数slug
。因为当你们想直接导航到子状态的时候,整个事情都会搞砸
就像当你做shop.category.product({slug:'some cat',slug:'some product'})
的时候,你可以在同一个json中拥有slug
属性,javascript将无法正确编译
因此,我建议您对slug参数的每个状态使用不同的名称,如下所示
.state('shop', {
url: '/shop'
.state('shop.category', {
url: '/:catslug'
.state('shop.category.product', {
url: '/:productslug'
你不知道如何从主页链接到产品?我无法在URL中获取类别参数。请看,我简化了状态,使其可以随时访问。我通常具有该模式。因此,我可以从任何地方重定向到该状态。。但是是的,你是对的。不知何故,我们应该有catsslug和产品可用