У меня есть пользовательский элемент html (кнопка), которому я передаю метод. Затем это выполняется привязкой нокаута в пользовательском элементе. Проблема в том, что мне нужен доступ к текущему объекту в массиве при выборе. Я добился этого так:
ko.components.register('custom-element', {
viewModel: function(params) {
this.nestedMethod = function (){
//this line feels dirty
var parameter = ko.contextFor(arguments[1].target).$parent;
params.method(parameter);
}
},
template:
'<button data-bind="click: nestedMethod">remove item</button>'
});
Это кажется очень хакерским и потенциально склонным к взлому. Есть ли более приятный способ добиться этого? Вот ссылка на рабочий пример: