Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.04.2014, 21:00
Новичок на форуме
Отправить личное сообщение для damintsew Посмотреть профиль Найти все сообщения от damintsew
 
Регистрация: 09.01.2012
Сообщений: 7

Помощь с архитектурным решением
Доброго времени суток!
Я совсем не много времени работаю с ангуларом (раньше использовал GWT).
Не совсем понимаю как можно эффективно использовать данный фреймворк для моей задачи и поменьше шаблонного кода писать.

Сайт представляет из себя что-то в этом духе
/index/numberOne/property
/index/numberTwo
/index/numberThree

При этом все сущности number это практически шаблоны с текстом т.е.:
<div class="subHeader">numberOne numberOne numberOne numberOne</div>
<div class="content"><a href>.........
  <a href="numberOne/property/23">.........
  <a href>.........
</div>

Внутри это шаблона я буду писать много текста, а также ссылки на более глубокие уровни вложенности.

Соответствено у меня есть две идеи как это реализовать:

1) Я создаю для каждой ссылки свой View. Но меня напрягает, что получается довольно много повторяющегося кода.
Мой routeProvider:
$routeProvider.when('/numberOne',
      {
          templateUrl: 'views/numberOne.html',
          controller: 'MyCtrl1'
      });
        $routeProvider.when('/numberTwo',
      {
          templateUrl: 'views/numberTwo.html',
          controller: 'MyCtrl2'
      });
        $routeProvider.when('/numberThree/',
      {
          templateUrl: 'views/numberThree.html',
          controller: 'MyCtrl3'
      });
        $routeProvider.when('/numberOne/test',
      {
          templateUrl: 'views/numberOne.html/property',
          controller: 'MyPropertyCtrl'
      });


2) Я создаю один View, а внутри него я подтягиваю с сервера данные.
$routeProvider.when('numberOne',
      {
          templateUrl: 'views/:number',
          controller: 'MyCtrl1'
      });

<div class="subHeader">
   {{header.data}}
</div>
<div class="content">
   {{content.data}}
</div>

В данном случае мне надо будет часто гонять данные с сервера на клиент. И не уверен как это можно было бы эффективно закешировать (на сервере будет Java).

Есть ли какие-нибудь best - practice для данной ситуации.

Первый вариант меня отпугивает тем, что при копировании view я могу где-нибудь ошибиться и не туда поставить перекрестную ссылку.
Ответить с цитированием
  #2 (permalink)  
Старый 07.04.2014, 14:52
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Посмотрите https://github.com/mgechev/angularjs...EADME-ru-ru.md.

для того чтобы меньше гонять данные можно завести $scope который будет выше контроллеров и складывать данные туда. Ну и использовать $cacheFactory.
Ответить с цитированием
  #3 (permalink)  
Старый 07.04.2014, 22:45
Новичок на форуме
Отправить личное сообщение для damintsew Посмотреть профиль Найти все сообщения от damintsew
 
Регистрация: 09.01.2012
Сообщений: 7

Сообщение от Tek Посмотреть сообщение
Посмотрите https://github.com/mgechev/angularjs...EADME-ru-ru.md.
Спасибо за ссылку... почитал.
Я так понимаю Вы мне советуете второй вариант с шаблонами ?


Нашел такой сайт там есть starter - project http://joshdmiller.github.io/ng-boilerplate/#/home. Показался довольно интересным... сейчас изучаю как моно у меня это привнести.

Если у кого-нибудь еще будут предложения и/или ссылки прошу поделиться!

Последний раз редактировалось damintsew, 07.04.2014 в 23:33.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
Нужна помощь: Slider wheel Alex555 Мобильный JavaScript 0 15.05.2013 18:06
нужна помощь с решением задачи igsavenko Общие вопросы Javascript 6 30.04.2011 14:43
Увеличить размер div'a, нужна помощь. neonick Events/DOM/Window 2 04.03.2011 22:24
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17