Я просто хочу отметить, что это моя первая попытка создать простое приложение в AngularJS
. У меня есть таблица, и в каждой строке я показываю задачу, которая содержит свойства Index, Name, Activity, Time, а также кнопки редактирования и удаления. Все работает идеально.
<table class="table table-striped " style="width: 100%">
<tr ng-repeat="task in tasks" >
<td>{{$index}}</td>
<td>{{task.name}}</td>
<td>{{task.activity}}</td>
<td>{{task.time}}</td>
<td ><button type="button" ng-click="editRow($index)" class='btn btn-default '>Edit</button></td>
<td ><button type="button" ng-click="removeRow($index)" class='btn btn-default'>Delete</button></td>
</tr>
Index is very important to me ,because I'm accessing current task by index when edit or delete button is clicked.
Now, I'm trying to modify my code, I'm reading directives, and had idea to put everything from table row into a template
inside directive, and than to call that directive in ng-repeat
.
Something like this :
<tr ng-repeat="task in tasks" task-item = "task" >
</tr>
и директива:
app.directive('taskItem', function() {
return {
scope:{
taskItem: '='
},
restrict: 'A',
template: "<tr><td>{{$index}}</td>" +
"<td>{{taskItem.name}}</td>" +
"<td>{{taskItem.activity}}</td>" +
"<td>{{taskItem.time}}</td>" +
"<td><button type='button' ng-click='editRow($index)' class='btn btn-default '>Edit</button></td>" +
"<td><button type='button' ng-click='removeRow($index)' class='btn btn-default'>Delete</button></td>"+
"</tr>",
replace: false
};
});
Теперь у меня проблема, потому что индекс для каждой задачи равен 1, а также нажатие кнопки редактирования и удаления не работает. Возможно, мне нужно написать этот шаблон по-другому или попробовать другой подход.
Поэтому, если у кого-то есть какие-либо идеи, пожалуйста, не стесняйтесь добавлять комментарии. Спасибо.