2016-02-02 2 views
0

Я делаю стол с вложенными рядами.Ошибка ввода строк в вложенные строки?

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

Использование функции:

$scope.templates=[{src:'template'}]; 
$scope.include = function(templateURI) { 
    $scope.templates.push({src:templateURI}); 
} 

Append ряд:

<button class="btn btn-default btn-sm ng-scope" ng-click="include('rowInRow.html')"> 
    <i class="glyphicon glyphicon-upload"></i> 
</button> 

Показать шаблон:

<div ng-repeat="template in templates"> 
    <div ng-include="template.src">My template will be visible here</div> 
</div> 

Может кто-нибудь дать мне подсказку? Я пытался сделать это сам, но я не нашел то, что мне нужно.

+0

бы помочь, если это было интуитивно, что делать в демо и ожидаемые результаты – charlietfl

ответ

2

Попробуйте это: http://plnkr.co/edit/ZzPF7UFjKyp2tqn27cf4?p=preview

Все проекты делите templates коллекции. Решите это, предоставив каждому проекту собственный массив templates и итерацию через него.

Сделать функцию include в:

$scope.include = function(project, templateURI) { 
    if (!project.templates) 
    project.templates = []; 
    project.templates.push({src:templateURI}); 
} 

Называйте это, как это:

<button class="btn btn-default btn-sm ng-scope" ng-click="include(project, 'rowInRow.html')"> 
    <i class="glyphicon glyphicon-upload"></i> 
</button> 

Показать это следующим образом:

<div ng-repeat="template in project.templates"> 
    <div ng-include="template.src">My template will be visible here</div> 
</div> 
+0

Большое спасибо Cameron! –

Смежные вопросы