AngularJS: Как вставить несколько параметров в маршрут - PullRequest
0 голосов
/ 08 апреля 2019

Я создаю приложение, используя AngularJs.Я внезапно застрял в маршрутизации, где я хочу отправить несколько данных в маршрут, но он не проснулся.Это мой маршрут:

.state('/filter-list', {
    url: "/search/india/:data?",
    views : {
        "" : {
            templateUrl:"/filter/filter-list.html",
            controller: 'filterListCtrl',
            controllerAs:'vm',
            authenticated: true
        }
    },

    resolve: {
        loadMyCtrl: ['$ocLazyLoad', function($ocLazyLoad) {
            return $ocLazyLoad.load('/filter-list'); // Resolve promise and load before view
        }]
    }
})

Я хочу отправить данные следующим образом: / search / india / state / city / hotel-name

Но если я попытаюсь отправить это, этоперенаправил мое приложение на домашнюю страницу.работает только '/ search / india / new-delhi'.Может кто-нибудь помочь мне решить эту проблему.Заранее спасибо.

1 Ответ

1 голос
/ 08 апреля 2019

Вы можете добавить параметры в свой маршрут следующим образом:

.state('/filter-list', {
    url: "/search/india",
    params: {
              state: '',
              city: '',
              hotel-name: ''
            }
    ...
    }

и в вашем контроллере вы можете использовать $state.go() метод, подобный этому:

$state.go("/filter-list", {
    state: 'your-chosen-state',
    city: 'your-chosen-city',
    hotel-name: 'your-chosen-hotel'
});

и внутри вашего контроллера вы можете захватить параметры из:

 const state = $stateParams.state;
 const city = $stateParams.city;
 const hotel = $stateParams.hotel-name;
...