2015-11-23 2 views
1

Я использую AngularJS поверх приложения MVC. Как заставить приложение AngularJS зависеть от загруженного ресурса? В этом случае я хочу, чтобы мои UserData загружались до того, как произойдет что-нибудь еще. Я использую UI Router, и я знаю, что могу устанавливать состояния разрешения на отдельных маршрутах, но я не хочу добавлять это к каждому маршруту. Есть ли глобальный способ сделать это?Зависимости ресурсов AngularJS

ответ

2

Простое решение: вы можете добавить родительское состояние всего приложения и использовать только одно решение. При таком подходе данные, которые разрешаются, будут доступны для всех детей.

+0

Я видел учебное пособие по этому вопросу, но было похоже, что я должен сделать каждое состояние, когда-либо создавшее «дочернее состояние» этого родительского состояния, которое казалось головной болью обслуживания https://medium.com/opinionated-angularjs/ advanced-routing-and-resolves-a2fcbf874a1C# .akz24o4w9 – Chris

+1

Вам просто нужно определить родительское свойство в определении состояния вместо использования точечной нотации. –

+0

У вас есть пример, пожалуйста? Спасибо – Chris

0

Вы можете получить все данные в блоке «run» и поместить его в какую-либо служебную оболочку.

+0

Будет ли приложение AngularJS загружать что-либо еще, пока не будут разрешены все обещания в блоке запуска? – Chris

+0

Точно. Другой способ - создать службу, которая будет собирать все данные в фоновом режиме, и если запрошенные данные еще не загружены, просто поместите запрос перед очередью. – SergiySev

+0

Неправильно, вы не можете добавить обещание разрешить в блок выполнения. –