2015-08-13 13 views
5

Quando si passa $ stateParams tramite $ state.go si sta verificando correttamente quando faccio clic sul collegamento direttamente, ma ottenendo null dopo l'aggiornamento della pagina o aperto attraverso un'altra finestra.

Ho la seguente funzione:

$scope.urlvalues = function(url,page) { 
    var result = {url:url, page:page}; 
     $state.go("detailpage", result); 
} 

e il mio stato simile a questa:

.state('detailpage', { 
      url: "/page/overview", 
      templateUrl: "/page_details.html", 
      controller: "PageDetailsController", 
      params: { 
        url: null, 
        page: null 
        },   
     }) 

Grazie in anticipo.

+0

dove si trova la funzione urlvalues? –

+0

In un altro controller chiamato PageController –

risposta

5

Puoi provare:

.state('detailpage', { 
     url: "/page/overview/:url/:page", 
     templateUrl: "/page_details.html", 
     controller: "PageDetailsController", 

    }) 

Poi, quando si va alla pagina verrà impostato l'URL e sarà lì quando si aggiorna.

+1

Cosa succede se non si desidera passare i parametri nell'URL? I parametri opzionali – AlxVallejo

+0

ottengono un "?" come '/ page/overview /: url? /: page?' –

+7

No, intendo dire se è necessario passare oggetti come parametri a determinati stati. Rinfrescare lo stato perderebbe quel parametro di stato. C'è un modo per mantenere $ state.params.myObject senza memorizzarlo su localStorage, ad esempio? – AlxVallejo

Problemi correlati