Как я могу создать кнопку, которая изменяет положение массива в Vue.js ?

#javascript #html #arrays #vue.js

#javascript #HTML #массивы #vue.js

Вопрос:

Мне нужна кнопка, которая при нажатии изменяет положение массива. Я подумал о возможности создания вспомогательной переменной для суммирования, и массив меняет положение. Проблема в том, что когда я программирую это, ничего не меняется в HTML и консоли браузера, JS говорит: «не определено». Как мне это исправить? Я попробовал var , let в функции и заменяет старый атрибут для изменения положения массива, и не сработало. Я не устанавливал ограничение, если счетчик превышает размер массива, но даже в первых позициях (1, 2 и 3) он появляется undefined .

HTML

 <div id="app">
     <button @click="changePos()">Generic Button</button>
</div>
 

JS

 new Vue({
     el: '#app',
     data: {
          counter: 0,
          test: [5, 6, 7]
     },
     methods: {
          changePos(){
               this.counter  
               console.log(this.test[this.counter]) // Here appears "undefined"
          }
     }
});
 

Комментарии:

1. Ваш snipped должен работать, но я бы написал this.counter позади console.log , чтобы убедиться, что вы получите первый элемент. И он скажет undefined, когда ваш счетчик будет больше, чем длина массива минус 1.

2. Вау. Я думал, что, как вы сказали, не будет никакого способа получить доступ к первой позиции массива. Это сработало, спасибо! 🙂