2017-02-12 44 views
0

我运行这段代码:weex.js - 如何循环变量传递到事件处理

<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,但“罗布泊外”当我点击“富“,我看到undefined。我怎样才能将循环变量传递给事件处理程序?

回答

1

这个演示是在本机代码环境(我测试使用的是iOS WeexSDK)确定。 也许这是浏览器中的一个错误。

顺便说一下,您可以在最新的WeexSDK中使用vuejs语法,并且它对循环变量没有任何问题。

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

+0

是的,这个错误只发生在浏览器中,谢谢 – imbolc

0

在环路范围内使用提供$指数变量:

<div repeat="item in items"> 
    <text onclick="log(items[$index])">{{item}}</text> 
</div> 
+0

我看到'undefined'这种方式。实际上,即使使用log($ index),我也会看到'undefined'' – imbolc

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>