Угловой: две скользкие сетки, одна и та же страница

Я новичок в Angular, поэтому, пожалуйста, не будьте слишком резкими со мной. Я пытаюсь отредактировать этот пример: https://github.com/fortesl/angular-slickgrid-example для работы с двумя сетками.

Вот рабочий плункер: http://plnkr.co/edit/RyAwvqZ9sr3b9YFvmK2X Проблема заключается в том, что при двойном щелчке на любой строке в первой сетке она удаляется. Тем не менее, это не работает для второй сетки.

Самый простой способ решить эту проблему - создать второй метод deleteTask в контроллере:

self.deleteTask2 = function(row) {
  self.data2.splice(row.row, 1);
}

И измените атрибут для второй сетки, чтобы использовать эту функцию.

Однако такой подход не кажется правильным. Что если будет третья / четвертая и так далее по сетке? Есть ли в angular способ сделать deleteTask частью директивы, а не областью действия?

Заранее спасибо!

1 ответ

Решение

Просто измените deleteTask функция, чтобы взять массив данных, из которого вы хотите удалить.

Рабочая, модифицированная версия кода Plunker

контроллер:

self.deleteTask = function(data, row) {
    data.splice(row.row, 1);
}

Посмотреть:

<div my-grid style="width:600px;height:200px;" grid-columns="gridCtrl.columns"
     grid-options="gridCtrl.options" grid-data="gridCtrl.data"
     edit-row="gridCtrl.deleteTask(gridCtrl.data, row)" class="container myGrid">
</div>

Другие вопросы по тегам