2017-02-12 3 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, но когда я нажимаю " foo ", я вижу undefined. Как передать переменную цикла в обработчик события?

ответ

1

Эта демонстрационная нормально в родной код среде (я проверить его с помощью IOS WeexSDK). Возможно, это ошибка в браузере.

Кстати, вы можете использовать грамматику vuejs в последней версии WeexSDK, и это не проблема с переменной цикла.

демо: http://dotwe.org/vue/658afd881a720ab0c877a5bb2d88b9f4

+0

Да, ошибка встречается только в браузере, спасибо – imbolc

0

Использование $ индексная переменная доступна в рамках цикла:

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

Я вижу 'undefined' таким образом. На самом деле я вижу 'undefined' даже с' log ($ index) ' – 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> 
Смежные вопросы