You can use data attributes to pass in extra information. Here's a simple playground:
<template>
<div key={outer.key} for:each={data} for:item="outer" for:index="outerIndex">
Outer key: {outer.key}
<div onclick={handleClick} key={inner} for:each={outer.data} for:item="inner" for:index="innerIndex">
Inner Item: {inner}
<button data-outer={outerIndex} data-inner={innerIndex} onclick={handleClick}>Select</button>
</div>
</div>
<hr />
Output:
{output}
</template>
import { LightningElement, track, api } from 'lwc';
export default class App extends LightningElement {
data = [
{key: 0, data:[1,2,3]},
{key: 1, data:[4,5,7]},
{key: 2, data:[7,8,9]},
]
output;
handleClick(event) {
let outer = event.target.dataset.outer;
let inner = event.target.dataset.inner;
this.output = `${outer}/${inner}`;
}
}
WebComponents demo