2013-07-10 3 views
0

Я новичок в AngularJS с FireBase в качестве хранилища данных. Я привел примеры на своем веб-сайте. Теперь я хотел бы расширить простые концепции и создать более подробное приложение.AngularJS Настройка нескольких контроллеров

Предположим, например, у меня есть контроллер рецептов. Это будет содержать название рецепта и краткое описание. Но я также хочу иметь список ингредиентов вместе с их количеством.

Ингредиенты были бы элементом выбора со списком доступных ингредиентов на выбор.

Мой вопрос: как я могу использовать несколько контроллеров на сайте CRUD? Или я не должен использовать несколько контроллеров и как-то использовать контроллер рецептов для обработки всего?

Если бы я делал это, создавая схему базы данных, скажем, в MSSQL, у меня не было бы проблем и точно знать, что делать. Я думаю, что это факт, что все клиентская сторона меня отбрасывает.

Заранее благодарим за любую помощь.

ответ

0

Возможно, вы не захотите иметь контроллер на сущность. Вы здесь, контроллер, сопоставляете объект области видимости. Затем область видимости привязана к представлению - сохраняя их в синхронизации.

Так что если ваш вид отображает рецепт (например, имя/описание), он может также иметь дочерние ингредиенты ($ scope.recipe.ingredients).

Вы контролируете этот объект «рецепт», а также предоставляете методы для его изменения/получения/управления. Скажем, например, вы хотите сохранить объект $ scope.reciepe в свой магазин FireBase - вы можете ввести службу в свой контроллер, а затем сделать $ http-вызов, чтобы «поместить» этот объект в ваш db.

Краткий обзор концепций управления

Продолжение на https://docs.angularjs.org/guide/controller

+1

Чтобы пересчитать в различных словах, часто бывает более полезно иметь контроллер за просмотр, а не на контроллер модели. Если вы хотите модулизовать определенные для модели функции для разных моделей, которые используются в одном представлении, вы можете подумать о создании службы для каждой модели. Это всего лишь одна возможная картина. – bennlich

+0

Кроме того, вы можете использовать [angularFire] (http://github.com/firebase/angularfire) для автоматического ввода данных в Firebase и пропускать команды $ http REST. – Kato

+0

Отлично! Спасибо, леон. Это было просто разъяснение, в котором я нуждался. Като, да, я, наверняка, буду использовать angularFire. –

Смежные вопросы