我正在运行此代码:
<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”时,我会看到undefined
。我怎么能把循环变量传递给事件处理程序?
答案 0 :(得分:1)
这个演示在本机代码环境中是可以的(我使用iOS WeexSDK测试它)。 也许这是浏览器中的一个错误。
顺便说一下,你可以在最新的WeexSDK中使用vuejs语法,循环变量没问题。
答案 1 :(得分:0)
使用循环范围中可用的$ index变量:
<div repeat="item in items">
<text onclick="log(items[$index])">{{item}}</text>
</div>
答案 2 :(得分:0)
如果我使用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>