Как повторно использовать данные angularjs в нескольких частях просмотра?

0

Я использую AngularJS для создания своего рода веб-приложения для панели управления:

  • На одной странице "Обзор" есть несколько сводных диаграмм разных компонентов, например: "топ-3 человека" и "топ-3 компании",
  • На отдельной странице "Лица" я хочу снова показать таблицу "Лучшие 3 человека", но без диаграммы "лучшие 3 компании".
  • Точно так же на странице "компании" я хочу показать только диаграмму лучших трех компаний

Как повторно использовать каждую диаграмму (модель, представление, функциональность) как ее соответствующую страницу, так и на обзорной странице? Каков правильный способ организации контроллеров, просмотров и т.д.?

  • 0
    сделать 2 директивы: toppersons и topcompanies или я пропустил что-то
Теги:
view
controller

3 ответа

0
Лучший ответ

Для уровня данных я считаю, что лучший способ - использовать сервис.

Вы можете использовать услугу для передачи данных между различными контроллерами. Все, что вам нужно сделать, это использовать инъекцию зависимостей, чтобы внедрить вашу службу в соответствующие контроллеры. И в каждой службе есть получатели и сеттеры для хранения и извлечения данных.

Что касается организации, каждый вид должен иметь свой собственный контроллер.

Для уровня просмотра лучшим вариантом будет пользовательские директивы

Директивы являются компонентами многократного использования, которые доступны во всем приложении и могут быть введены в любом месте HTML. И каждая директива многократного использования может быть настроена путем передачи данных через атрибуты.

  • 0
    это может помочь со слоем данных, правда, но я хочу повторно использовать всю диаграмму: у него есть html-биты, css, определенные кнопки, которые изменяют его внешний вид, и т. д ...
  • 0
    Отредактировал вопрос. Вы можете использовать директивы для повторно используемых, но настраиваемых компонентов HTML.
0

Вы можете использовать службы и вызывать службу на разных страницах. Если ваши графики просто html, вы можете использовать рецепт значения

http://learn-angular.org/#!/lessons/the-value-recipe

Если он более сложный, вы можете использовать что-то вроде

http://learn-angular.org/#!/lessons/the-service-recipe

0
  • создать директиву для просмотра диаграммы
  • сервис для загрузки или даты кеширования (топ-люди или компании). С этого момента два направления
  • вставлять сервис в директиву и инициализировать его метать атрибут, где размещать URL-адрес, откуда данные загрузки
  • вставлять сервис в слишком контроллер и директиву init с датой для диаграммы бросать атрибут директивы

повторного использования, где вы хотите

Ещё вопросы

Сообщество Overcoder
Наверх
Меню