Создайте мастер в angularjs. Какой подход лучше всего?

Я должен создать мастер, используя angularjs... Я не очень хорошо знаю angularjs, и я знаю, что это проблема... поэтому я сомневаюсь, что я использую правильный подход для создания мастера...

Вот основные вопросы, на которые я не могу найти ответ:

  1. Должен ли я использовать views или ng-switch или что-то еще, чего я не знаю? В данный момент я использую ng-switch, но основная проблема, с которой я сталкиваюсь, заключается в том, что у каждого ng-with-when есть собственный scope;

2. Каждый шаг мастера должен быть заполнен некоторыми данными, поступающими с сервера. Использование view и ng-switch делает невозможным просто вызов сервера, когда я попадаю на страницу, содержащую мастер. Это означает, что каждый раз при изменении шага я должен вызывать сервер и получать данные только для этого сервера. Во-первых, мне не нравится такой подход, лично я предпочитаю сделать всего один вызов на сервер и сразу же получить все, что мне нужно. Что Вы думаете об этом? Я должен делать вызов на сервер каждый раз, когда я меняю шаг? Или лучше сделать просто вызов на старт? Если второй способ, то лучше, так как мне создать мастера? Потому что у меня нет видимости шагов, следующих за первым, поэтому я не могу сделать привязку.

Надеюсь, я ясно выразился. Спасибо всем, кто может мне помочь.


person Ciccio    schedule 04.01.2016    source источник
comment
Это слишком широко, и вы не разместили никакого кода, поэтому любой ответ, вероятно, будет неполным или неудовлетворительным. Вы должны прочитать хороший учебник по Angular, прежде чем продолжить. Некоторые важные факты, которые вам необходимо усвоить: 1. области действия коммутатора расширяют область действия контроллера. Поэтому, если у вас есть объект в области действия контроллера, он будет находиться в области переключения. 2. Вы можете хранить данные в службе и получать данные из этой службы каждый раз, когда переходите к следующему шагу. Нет необходимости снова и снова получать одни и те же данные с сервера.   -  person JB Nizet    schedule 04.01.2016
comment
ничто не говорит о том, что вы не можете иметь все данные, доступные прямо на шаге 1, независимо от того, какой подход вы используете.   -  person charlietfl    schedule 04.01.2016
comment
Я сделал пару мастеров в Angular, как с UI-Router, так и просто используя ng-if и некоторую переменную $scope для отслеживания текущей страницы. Я обнаружил, что UI-Router полезен по нескольким причинам: 1) вы получаете URL-адреса для каждого шага, поэтому вы можете перезагрузить шаги 3) Отдельные контроллеры и представления для каждого шага, что делает код намного чище.   -  person officert    schedule 04.01.2016


Ответы (1)


Я реализовал мастер некоторое время назад. У меня было 5 шагов, и на каждом шаге было много данных. Я решил использовать UI-Router, потому что мне нужен другой файл шаблона html, отдельная область действия и контроллер, проверка на каждом этапе.

Кстати, в сети есть готовые к использованию мастера. Я нахожу их недостаточными, но, возможно, для вас это подойдет.

person Avi    schedule 04.01.2016