Изменение состояния $ в AngularJS из консоли браузера

#javascript #angularjs #angular-ui-router

#javascript #angularjs #angular-ui-router

Вопрос:

Я хочу изменить состояние из консоли браузера.

Есть ли какой-либо способ запустить $state.go функцию из самой консоли.

Обратите внимание, что для состояний не определен URL-адрес, поэтому я не могу использовать его для перехода в состояние.

Мне это требуется для более быстрой отладки моего приложения.

Ответ №1:

поставьте точку останова и остановите свой код там, где вводится состояние $, чтобы вы могли его использовать. Или вы можете просто ввести его в свой .run() и назначить его объекту window, чтобы вы могли запускать его из любого места в любое время…

Комментарии:

1. как в angular.module('app').run(function($state) { window.$state = $state; });

Ответ №2:

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

  suppose you write $state.go('landing.home');
  

поскольку $state определяется внутри контроллера при условии, что вы ввели $state в контроллер, экземпляр $state недоступен вне контроллера

Даже если вы хотите проложить маршрут через консоль, вы можете сделать одну вещь

Откройте консоль, но точка останова где-то внутри контроллера, затем напишите

 $state.go('landing.home');
  

таким образом, он будет работать и перенаправлять на нужную страницу