2017-02-12 66 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>