Knockout.js Как получить доступ к $index в функции обработчика
Как я понимаю, $index доступен внутри привязки foreach:, указав индекс объекта... У меня есть привязка click:, например. click:foo, мне нужно получить доступ к $index внутри foo.
Вместо того, чтобы взломать его через функцию внутри вашей привязки, вам просто нужно получить контекст привязки. До тех пор, пока у вас есть доступ к элементу DOM, связанному с привязкой, вы можете получить контекст привязки и все его свойства с помощью функции ko.contextFor().
Объект события, который вы получаете в своем обработчике, дает вам доступ к node через свойство target. Возьмите контекст, используя это.
var viewModel = {
foo: function (data, event) {
var context = ko.contextFor(event.target);
// do stuff with context.$index()
}
};
Ответ 3
Это проще с кодом ES6. В моем html у меня есть массив страниц