Как использовать vue-router с vue-touch-events - PullRequest
0 голосов
/ 14 сентября 2018

Я пытался использовать vue-router с vue-touch-events таким образом:

<i v-touch="go('home')" class="fas fa-bars"></i>

<script>
  export default {
    name: "Nav",
    methods: {
      go: function(state) {
        this.$router.push(state)
      }
    }
  }
</script>

Это не работает, так как go('home') выполняется каждый раз, когда представление отображается, а не при касании / нажатии.

1 Ответ

0 голосов
/ 14 сентября 2018

Значение v-touch должно быть функцией;go('home') будет вызван немедленно и вернет undefined, который не является функцией.

Попробуйте вместо этого:

<i v-touch="() => go('home')" class="fas fa-bars"></i>

v-on - единственная директива, которая принимает синтаксис, который вы использовали;компилятор шаблона Vue не будет заключать ваше выражение в функцию для других директив, поэтому вы должны сделать это вручную.

...