0

我正在运行这段代码:

<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>

当我单击“外环”时,我看到了foo,但是当我单击“foo”时,我看到了undefined。如何将循环变量传递给事件处理程序?

4

3 回答 3

1

这个demo在原生代码环境下是可以的(我用iOS WeexSDK测试过)。也许这是浏览器中的一个错误。

顺便说一句,你可以在最新的 WeexSDK 中使用 vuejs 语法,循环变量没有问题。

演示:http ://dotwe.org/vue/658afd881a720ab0c877a5bb2d88b9f4

于 2017-02-13T02:12:21.323 回答
0

使用循环范围内可用的 $index 变量:

<div repeat="item in items">
  <text onclick="log(items[$index])">{{item}}</text>
</div>
于 2017-02-12T14:33:40.697 回答
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>
于 2017-05-26T07:23:19.140 回答