Подтвердить что ты не робот

Использование Ui-Router ui-sref Просто для установки параметров запроса

У меня есть следующая ссылка.

<a ui-sref="...">Clicking this adds ?test=true to the query params.</a>

Есть ли способ использовать атрибут ui-sref только для изменения параметров запроса без перезагрузки страницы или перехода к другой функции?

4b9b3361

Ответ 1

Вы должны сделать это, передав аргументы с состоянием.

попробовать: -

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

Использование:

ui-sref = 'stateName' - перейти к состоянию, без параметров. "stateName" может быть любым действительным абсолютным или относительным состоянием, следуя тем же синтаксическим правилам, что и $state.go()

ui-sref = 'stateName ({param: value, param: value})' - перейти к состоянию с параметрами.

Ответ 2

В сочетании с ответом PSL, чтобы предотвратить обновление при настройке состояния, просто используйте свойство reloadOnSearch: false.

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

Пока ваши запросы выполняются в этом же состоянии.

Ответ 3

Просто определите имена параметров запроса в URL-адресе состояния

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

И используйте вот так

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

Я использую версию ui-router 0.2.15