2015-08-13 18 views
5

Podczas przekazywania $ stateParams przez $ state.go, to jest ono poprawnie wykonywane, gdy kliknę link bezpośrednio, ale otrzymuję wartość null po odświeżeniu strony lub otwieram przez inne okno.

Mam następującą funkcję:

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

A mój stan wygląda następująco:

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

Z góry dzięki.

+0

gdzie znajduje się funkcja wartości url? –

+0

W innym kontrolerze o nazwie PageController –

Odpowiedz

5

można spróbować:

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

    }) 

Wtedy, kiedy przejść do strony URL zostanie ustawiony i będzie tam po odświeżeniu.

+1

Co zrobić, jeśli nie chcesz przekazywać parametrów w adresie URL? – AlxVallejo

+0

opcjonalne parametry otrzymują znak "?" jak '/ page/overview /: url? /: page?' –

+7

Nie, mam na myśli to, co musisz przekazać obiektom jako parametry do pewnych stanów. Odświeżenie stanu spowoduje utratę tego stanu. Czy istnieje sposób na utrzymanie obiektu $ state.params.myObject bez przechowywania go na przykład w localStorage? – AlxVallejo

Powiązane problemy