Использование Ui-Router ui-sref Просто для установки параметров запроса
У меня есть следующая ссылка.
<a ui-sref="...">Clicking this adds ?test=true to the query params.</a>
Есть ли способ использовать атрибут ui-sref только для изменения параметров запроса без перезагрузки страницы или перехода к другой функции?
Ответы
Ответ 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