2014-08-29 4 views

risposta

23

Dovresti riuscire a farlo passando gli argomenti con lo stato.

prova: -

<a ui-sref="yourStateName({test:true})">Clicking this adds ?test=true to the query params.</a> 

Usage:

ui-sref = 'StateName' - Passare allo stato, non params. 'stateName' può essere qualsiasi stato assoluto o relativo valido, seguendo le stesse regole di sintassi $ state.go()

ui-sref = 'stateName ({parametro: valore, parametro: valore})' - Passa allo stato , con parametri.

+2

Questo funziona per params statali, ma non per i comandi di query –

+5

@itcouldevenbeaboat è necessario specificarlo anche nel percorso. Ad esempio: - 'url:"/route1? test ",' Come appare il tuo percorso? Passa il mouse sopra il percorso1 in questa demo http://plnkr.co/edit/peERl4?p=preview, vedrai test = true stringa stringa parametro – PSL

+0

ah che è un buon punto proverò quell'implementazione –

7

In combinazione con la risposta di PSL, per impedire l'aggiornamento durante l'impostazione dello stato, è sufficiente utilizzare la proprietà reloadOnSearch: false.

.state('myState', { 
     url: '/myState?test', 
     reloadOnSearch : false, 
     ... 
    }) 

Fintantoché le vostre domande si svolgeranno all'interno di questo stesso stato.

4

basta definire i nomi dei parametri di query nell'URL Stato

$stateProvider.state('posts', { 
    url: '/posts?test&answer', 
    views: { 
     content: { 
     templateUrl: 'templates/posts/index', 
     controller: 'PostsController' 
     }, 
     navbar: { 
     templateUrl: 'templates/partials/navbar' 
     } 
    } 
    }) 

e utilizzare come questo

<a ui-sref="posts({test: true, answer: false})">Next Page</a> 

Sto usando la versione ui-router 0.2.15

Problemi correlati