2015-05-21 4 views
1

Я новичок Угловой и пытаюсь очистить свои понятия:Угловая общая модель с несколькими контроллерами

Моего приложения требует единой модели, которая будет обновляться различными контроллерами. Таким образом, модель должна быть разделена. После ссылку объясняет ясно, как я должен приступить к ней

http://www.webdeveasy.com/angularjs-data-model/

Это создает две службы с помощью фабричного метода. Служба менеджера проверяет, был ли экземпляр класса уже создан или нет. Если да, он возвращает уже созданную ссылку, иначе new's экземпляр. Следовательно, каждая модель видит один и тот же экземпляр модели и обновляет обновления модели во всех представлениях.

Если вместо создания службы используется factory, создается служба с использованием метода service, который автоматически возвращает экземпляр new'd, который будет совместно использоваться или связан с контроллером.

Я предполагаю, что мой случай не может быть достигнуто с помощью метода service, я должен использовать метод factory вместо service метода, как это new's услуги каждый раз, когда он вводится в любой контроллер. Угловые не поддерживают некоторый пул внутри, чтобы убедиться, что тот же экземпляр службы вводится во все контроллеры.

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

ответ

4

Насколько ваше дело касается, могут быть использованы Оба сервиса и завода, так как оба по сути, они по своей природе аналогичны функциям.

В соответствии с моим пониманием, вы хотите, чтобы единый объект новостей, который должен быть общим для всех контроллеров, в соответствии с шаблоном проектирования Singleton, обеспечил одно обновление -> обновляет все. Это можно реализовать с помощью Angular Services.

Я сам найти с помощью услуги проще, чем фабричный метод, так как бывший имеет простой в использовании синтаксис: D

Кроме того, для большего понимания разницы между этими двумя подходами, вы можете посмотреть на this ответ

enter image description here

+0

Также проверьте следующее: нить http://stackoverflow.com/questions/13762228/confused-about-service-vs-factory/13763886#13763886 и http://stackoverflow.com/questions/15666048/service-vs-provider-vs-factory/15666049 # 15666049 – kwangsa

+0

@ TechMa9iac Ev erytime новый класс создает отдельный экземпляр, службы запускаются автоматически, что не позволяет использовать экземпляр. Я не могу отслеживать экземпляры в методе службы, чтобы делиться ими через контроллеры, но на заводе я могу –

+0

Они не будут ** введены **. У вас будет один и тот же экземпляр для всех контроллеров и других компонентов приложения. Реализуйте это программно .. –

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