2016-09-15 3 views
0

Я хочу получить доступ к значению $stateParams на моем контроллере, но я не хочу показывать значение в ссылках. Это возможно?

HTML

<a ui-sref="baba.watch({name: card.name, aktar: {chapter:card.chapter, link:card.link}})"> 

Javascript

.state('baba.series', { 
url: "/series/:name/:aktar", 
templateUrl: "states/baba.series.html", 
controller: "nbgCtrl" 
}); 

.controller('nbgCtrl', function ($scope, $stateParams) { 
      $scope.milo = $stateParams.aktar.link; 
      console.log($scope.milo); 

Я получаю не определено. Ссылки должны быть похожими на /series/Naruto/345. Показывать значение главы не показывать значение ссылки.

Edit: Вывод $ stateParams:

isim:"Naruto", 
aktar:"[object Object]" 
+0

Что такое вывод '$ statePar ams'? Ваши '$ stateParams' должны выглядеть как' {isim: 'Наруто', aktar: '345'} 'поэтому' $ stateParams.aktar.link' естественно 'undefined', потому что нет свойства' link' – taguenizy

+0

@taguenizy Я добавляю выход на мой пост. Поэтому в основном я хочу использовать значение 'link' в параметре' aktar'. Но не хочу появляться в ссылках. Значение 'chapter' должно появляться в ссылках. – Nasuh

ответ

2

Вы можете установить данные о состоянии, он не будет отображаться на URL, когда состояние нагрузки.

.state('baba.series', { 
    url: "/series", 
    templateUrl: "states/baba.series.html", 
    controller: "nbgCtrl", 
    data: { 
    link: 'some value', 
    isim: 'Value', 
    aktar: 'Value' 
    } 
}); 

Теперь вы можете получить значения из контроллера

.controller('nbgCtrl', function ($scope, $state) { 
    $scope.milo = $state.data.link; 
    $scope.isim = $state.data.isim; 
    $scope.aktar = $state.data.aktar; 
    console.log($scope.milo); 
} 
+0

Но как я могу получить значение для состояния 'link'. Значение для параметра ссылки доступно из родительского состояния. – Nasuh

+0

Но как я могу получить значение для ссылки в этом состоянии. Значение для параметра ссылки доступно из родительского состояния. – Nasuh

0

Определите состояние URL, как показано ниже

url: "/series"

Вы не получите в URL, в то же время вы также можете получить значение/данные в $ stateParams