Показать сообщение отдельно
  #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 я могу где-нибудь ошибиться и не туда поставить перекрестную ссылку.
Ответить с цитированием