2016-05-17 1 views
2

ich dies habe in einer Code-Basis gesehen:Grundlegende Parameter mit `params` Parametern. UI - Router

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

Was ist das? Alle Daten nach / werden Slug, richtig? Der Zugriff auf $ stateParams ['productId'] gibt jedoch die korrekte ID zurück. ex: für url:

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

Rückkehr 170758 für $stateParams['productId'].

Antwort

2

params definiert nicht URL-Route-Parameter. Sie erscheinen einfach nicht in der URL. In Ihrem Fall slug-product-name-homme-170758.html gleich sein sollte, und die productId einfach mit ui-sref oder $state.go

In Ihrem Beispiel setzt, wäre es:

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

Danke, also wenn ich den Zustand neu zu laden, kann ich‘ Ich weiß, was die ProductId war, die damit kam. Das Einzige, was ich tun kann, ist, es aus der Schnecke zu ziehen, denke ich. Recht? –

+0

Während ich 'Params' vorher noch nicht wirklich benutzt habe, würde ich sagen, dass du völlig richtig liegst. –

Verwandte Themen