2013-12-09 15 views
28

mam te stany:Parametr ciągów zapytania w adresach URL urządzenia ui-router?

.state('quotes', { 
    abstract: true, 
    url: '/quotes' 
}) 
.state('quotes.new', { 
    url: '/new', 
    templateUrl: 'views/quote-form.html', 
    controller: 'QuoteFormCtrl' 
}) 
.state('quotes.new.customer', { 
    url: '?customer', 
    templateUrl: 'views/quote-form.html', 
    controller: 'QuoteFormCtrl' 
}) 

Kiedy uderzę URL /quotes/new?customer=123 łańcuch zapytania klienta odpędza, a ja zostaję w stanie quotes.new?.

Dla mnie najbardziej sensownym jest dodanie params: ['customer'] do definicji stanu quotes.new, ale to daje mi błąd narzekając, że określam zarówno adres URL, jak i parametry.

Wszelkie przykłady tego, co próbuję zrobić, będą mile widziane.

Odpowiedz

45

Należy zmodyfikować właściwość url ciąg na swój customer parametr kwerendy tak:

.state('quotes.new', { 
    url: '/new?customer', 
    templateUrl: 'views/quote-form.html', 
    controller: 'QuoteFormCtrl' 
}); 

wiele parametrów można dodać, rozdzielając je z &:

.state('mystate', { 
    url: '/myState?paramOne&paramTwo 
    //... 
}); 

Zobacz the docs

+0

Dzięki. Wiedziałem, że to musi być prostsze, niż ja to robiłem. – kbanman

+8

jak to działa z '$ state.go'? '$ state.go ('quotes.new', {customer: 'dave'})'? – connorbode

+1

[yup] (http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state#go) – calebboyd

Powiązane problemy