2017-02-12 4 views
0

ich diesen Code renne:weex.js - wie die Schleifenvariable in Ereignishandler übergeben

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

Wenn ich die Schaltfläche „außerhalb der lop“, ich sehe foo, aber wenn ich auf die Schaltfläche " foo ", sehe ich undefined. Wie kann ich die Schleifenvariable in den Event-Handler übergeben?

Antwort

1

Diese Demo ist ok in nativen Code-Umgebung (Ich teste es iOS WeexSDK verwenden). Vielleicht ist es ein Fehler im Browser.

Übrigens können Sie vuejs Grammatik in der neuesten WeexSDK verwenden und es ist kein Problem mit der Variable loop.

Demo: http://dotwe.org/vue/658afd881a720ab0c877a5bb2d88b9f4

+0

Ja, der Fehler tritt nur in einem Browser auf, danke – imbolc

0

Verwenden $ Index-Variable in der Schleife -umfang:

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

I 'undefined' diese Weise zu sehen. Eigentlich sehe ich "undefiniert" sogar mit 'log ($ index)' – imbolc

0

wenn i vue verwenden

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