VueJS: почему счетчик не увеличивается при пост-инкременте, а работает при преинкременте

1

В этой скрипте почему счетчик не увеличивается при вызове функции increment(). Установите счетчик, чтобы увеличить приоритет после назначения, поэтому после нажатия кнопки события (более одного раза) переменная счетчика должна увеличиваться.

  • Примечание. Если я делаю pre-increment вместо post-increment, как это, this.counter = ++this.counter; это работает.

HTML

<div id="app">
   <h2>some text</h2>
   <p>{{ counter }}</p>
   <button @click="increment">Increment</button>      
</div>

VueJS

new Vue({
  el: "#app",
  data: {
    counter: 0
  },
  methods: {
    increment: function(){
        this.counter = this.counter++;
    }
  }
})
Теги:
vuejs2

1 ответ

3

Это не имеет ничего общего с VueJS. Это простая проблема с префиксом/суффиксом. Посмотрите на этот код:

var test = 0;
console.log(test++);
console.log(++test);

Кроме того, вы можете сократить эту строку this.counter = this.counter++; к this.counter++, так как this.counter++; является сокращением для this.counter = this.counter + 1;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню