У меня есть много мест, где я использую нокаутированные данные, связанные с циклами foreach.Хорошим примером будет список элементов, с правой кнопкой мыши на кнопке с надписью «изменить».Я пишу код, который выглядит следующим образом:
<div data-bind="foreach: myListData">
... other divs ...
<button data-bind="click: $parent.editItem.bind($data)">View</button>
</div>
Функция editItem
будет выглядеть примерно так:
editItem: function (review, data) {
window.location = "/item/edit/" + review.Id();
},
Я нахожу использование $parent
антипаттерн, и я также думаю, что использование .bind
и только для нокаута $data
в одной строке довольно загадочно, особенно если разработчик не очень близко знаком с нокаутом.
Есть ли лучший, более чистый способ записи функций доступа к родительской области в нокаут-foreach?