Ответ 1
Не существует функциональной разницы между ui-sref
и $state.go
. См. Документ
Активация состояния
Существует три основных способа активации состояния:
- Вызов
$state.go()
. Высокоуровневый метод удобства.- Нажмите ссылку, содержащую директиву
ui-sref
.- Перейдите к
url
, связанному с состоянием.
Итак, они в конце делают то же самое, и мы можем видеть в коде директивы ui-sref
:
...
element.bind("click", function(e) {
var button = e.which || e.button;
if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || element.attr('target')) ) {
var transition = $timeout(function() {
// HERE we call $state.go inside of ui-sref
$state.go(ref.state, params, options);
});
он вызывает $state.go()
А также, как обсуждалось здесь: ui-sref:
ui-sref='stateName'
- перейти к состоянию, без параметров. "stateName" может быть любым действительным абсолютным или относительным состоянием, следуя тем же синтаксическим правилам, что и$state.go()