Javascript js-如何将循环变量传递给事件处理程序
我正在运行以下代码:Javascript js-如何将循环变量传递给事件处理程序,javascript,weex,Javascript,Weex,我正在运行以下代码: <template> <div> <text onclick="log(items[0])">outside the loop</text> <div repeat="item in items"> <text onclick="log(item)">{{item}}</text> </div>
<template>
<div>
<text onclick="log(items[0])">outside the loop</text>
<div repeat="item in items">
<text onclick="log(item)">{{item}}</text>
</div>
</div>
</template>
<script>
module.exports = {
data: {
items: ['foo']
},
methods: {
log: function(item) {
console.log(item);
}
}
}
</script>
当我单击lop外部时,我看到了foo,但当我单击foo时,我看到了未定义。如何将循环变量传递到事件处理程序中?使用循环范围中可用的$index变量:
<div repeat="item in items">
<text onclick="log(items[$index])">{{item}}</text>
</div>
此演示在本机代码环境中正常。我使用iOS WeexSDK测试它。 也许这是浏览器中的一个bug 顺便说一下,您可以在最新的WeexSDK中使用vuejs语法,循环变量也没有问题 演示:如果我使用vue
<template>
<div>
<text @click="log(items[0],$event)">outside the loop</text>
<div v-for="item in items">
<text @click="log(item,$event)">{{item}}</text>
</div>
</div>
</template>
<script>
module.exports = {
data: {
items: ['foo']
},
methods: {
log: function(item,e) {
console.log(item);
}
}
}
</script>
我认为这是不明确的。实际上,即使使用log$index,我也看到了未定义的