Я использую backbone.js, и я в ситуации, когда мне нужно знать, было ли инициировано событие маршрутизатора на загрузке страницы или если он был вызван щелчком пользователя. Есть ли способ узнать это в действии маршрутизатора?Backbone.js - Есть ли способ определить, было ли событие маршрута запущено при загрузке страницы.
ответ
Я не думаю, что есть способ отличить эти события. Реализация Historybone's History отслеживает изменения в URL-адресе текущего браузера и не может отличить, как был изменен URL-адрес. Скорее всего, вам нужно будет свернуть собственное решение (например, проверить записи в истории или использовать дополнительный обработчик при пользовательских кликах).
Если вы хотите отличить ваши явные вызовы от router.route
, вы можете передать пользовательскую строку в качестве второго параметра, который вызовет событие 'route:yourNameHere'
, см. Backbone's documentation.
Можно также установить переменную на странице загрузки ака где-то, где вы инициализации приложения (скажем, метод инициализации маршрутизатора)
var Workspace = Backbone.Router.extend({
initialize: function() {
var this.pageLoad = true;
...
и установить его в ложное о перемещении куда-нибудь. Вы можете прослушать события маршрута, как описано в Джулианс ответ или просто добавить строку кода, как это:
Workspace.pageLoad = false
своим функциям маршрутизации. Вы также можете создать функцию посредника для обработки переменной и последующего вызова соответствующих маршрутов.
- 1. Есть ли способ определить, было ли запущено событие JS программным путем или фактическим взаимодействием?
- 2. Есть ли способ узнать, было ли запущено действие с Espresso?
- 3. способ определить, было ли запущено приложение, нажав на уведомление
- 4. Есть ли событие ошибки при загрузке Flash?
- 5. Есть ли способ определить, было ли событие изменения размера окна вызвано всплывающей клавиатурой Android?
- 6. Есть ли способ сказать браузеру очистить кеш при загрузке страницы?
- 7. Как определить, запускается ли URL-адрес при загрузке страницы
- 8. Есть ли способ определить, сколько свитков было сделано в окне?
- 9. Как определить, было ли событие onscroll запрограммировано?
- 10. Способ перекрестного браузера, чтобы определить, было ли отменено событие DOM.
- 11. Какое первое событие было запущено при загрузке веб-страницы в браузер
- 12. Определить, было ли приложение запущено/открыто из push-уведомления Cordova
- 13. Определите, было ли приложение запущено щелчком мыши?
- 14. Есть ли способ определить, заблокирован ли объект?
- 15. Есть ли способ определить, видимо ли окно браузера пользователю?
- 16. Есть ли способ идентифицировать событие platform.resume было вызвано камерой?
- 17. Узнайте, было ли приложение запущено до
- 18. Есть ли простой способ определить, когда всплывающее меню было уволено?
- 19. Есть ли способ определить, переопределена ли функция?
- 20. Есть ли способ узнать, было ли явным образом вызвано `method_missing`?
- 21. ui.router - получение параметров маршрута при загрузке страницы
- 22. Backbone.js: Как определить, какое действие вызвало событие?
- 23. Есть ли способ отложить всплывающее событие?
- 24. Есть ли способ узнать, подписано ли событие?
- 25. Есть ли способ узнать, не произошло ли событие маршрута в угловом 2?
- 26. Как определить, было ли событие ON UPDATE запущено с запросом в MYSQL?
- 27. Как определить, было ли событие изменения размера запущено с помощью мягкой клавиатуры в мобильном браузере?
- 28. Есть ли способ определить, отключена ли анимация
- 29. Есть ли способ определить, произошло ли исключение?
- 30. Есть ли способ обнаружить изменения маршрута с помощью ресурса?