I'm getting a 'Duplicates in repeater' error. I read somewhere that I can track by index, but as soon as I do that all my object title and description values become duplicated. I need to define unique titles, descriptions and asset arrays for each individual step. How can I do this?
var stepTemplate = {
assets:[]
}
$scope.item.steps = [stepTemplate];
$scope.addRow = function(){
$scope.item.steps.push(stepTemplate);
$log.debug('row added')
}
$scope.deleteRow = function(index){
$scope.item.steps.splice(index, 1);
$log.debug('row deleted')
}
$scope.addAsset = function(index){
$scope.item.steps[index].assets.push({'type':'textfile'});
}
$scope.deleteAsset = function(index){
$scope.item.steps[index].assets.splice(index, 1);
}
<div class="row" ng-repeat="step in item.steps">
<div class="well">
<button class="btn btn-danger pull-right" ng-click="deleteRow($index)">-</button>
<input type="text" ng-model="step[$index].title" name="{{field}}" class="form-control">
<textarea rows="7" ng-model="step[$index].desc" name="{{field}}" class="form-control"></textarea>
Add Assets
<div class="row" ng-repeat="asset in step.assets">
<!--asset html -->
</div>
<button class="btn btn-primary pull-right" ng-click="addAsset($index)">+</button>
<button class="btn btn-primary pull-right" ng-click="deleteAsset($index)">-</button>
</div>
</div>