Доброго времени суток!
Я совсем не много времени работаю с ангуларом (раньше использовал 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 я могу где-нибудь ошибиться и не туда поставить перекрестную ссылку.