Здравствуйте! Постараюсь объяснить вкратце. Имеем два файла:
obj.html:
<ul>
<li ng-repeat="object in obj.items" ng-model="obj.items">
<input type="text" value="{{ object }}">
</li>
</ul>
con.html:
<ul>
<li class="{{ obj.opt.list_class }}" ng-repeat="object in obj.items">
{{ object }}
</li>
</ul>
Которые ng-include-ятся:
<ul ng-model="SortCtrl.list2">
<li class="list-type-option" ng-repeat="obj in SortCtrl.list2" /*ng-show="SortCtrl.compareBlog(obj)"*/>
<div ng-include="SortCtrl.getObject(obj)"></div>
<div ng-include="SortCtrl.editObject(obj)"></div>
</li>
</ul>
в файле app.js:
self.getObject = function (obj) { return 'templates/' + obj.type + '/obj.html'; };
self.editObject = function (obj) { return 'templates/' + obj.type + '/con.html'; };
В результате создаётся две модели (хотя нужна одна). И при изменении значения во втором "поле" - изменяется только вторая модель.
Хотя если подключать два других файла (без ng-repeat):
obj.html:
<p class="{{ obj.opt.class }}">{{ obj.opt.value }}</p>
con.html:
<label>Text:</label><input type="text" ng-model="obj.opt.value" value="{{obj.opt.value}}">
Всё работает как и задумано.
Направьте юного падавана на путь истинный, друзья)
P.S. Если я не понятно объяснил - могу выложить больше кода )