vuejs / vetur

Vue tooling for VS Code.
https://vuejs.github.io/vetur/
MIT License
5.75k stars 593 forks source link

Reassigning data doesn't type-check correctly in interpolation #2195

Open octref opened 4 years ago

octref commented 4 years ago

When upgrading to TS 4.0.2, this no longer causes error:

<template>
  <div>
    <button @click="test = 'test'">Invalid Update Type</button>
  </div>
</template>

<script lang="ts">
import Vue from 'vue'

export default Vue.extend({
  data() {
    return {
      test: 0
    }
  }
})
</script>

@ktsn, I commented this test out for now: https://github.com/vuejs/vetur/commit/bc075659a60a040b71b50bf5c5f2a775294662c9

Woud you have time to take a look?

ktsn commented 4 years ago

Ok, let me investigate on it.

ktsn commented 4 years ago

Strangely, it works correctly in the raw typescript file.

https://www.typescriptlang.org/play?checkJs=true&allowJs=true&target=99#code/CYUwxgNghgTiAEYD2A7AzgF3gfWwNwjQGEkBbAB1RBQwC54BvAKHnhRAHd4AKASnobwWreBhCZ6KAK6kARiBjCAvkxVMMAT3IISFKjQAyAS0zUFaADwAVAHzwAvI2EBtANLwjKeAGsQGpABm8FYAugD89NwAJCB41HTBbiG8DnZQKBoA3KrZnmIwAVBgOmSU7DQAIlAYUNZ2zKzkMEjkaPQASuBIMMAWmDCeAOYANPDpGjbZrKj0umXxxqbsMJa2U-DARnBgGEZxbWMZziHZKiAAHpQwWKCQsAjI6Fi4BGidKKAwABIgENowAmEdW4c30CW47C43AAdLDYIMDuNjil7HYrLxRgEUJEMAALEz0dGpQ4afgk07ZC5XG7gaBwRCoTA4fCEUHlDA-P4KQGsYHCVh4UiE4b80RQQb0fpDEUiDbVKCzUpgqo1CydZA9PoYAYoEYkmx2ABkwXxaCsWhAdRlIjA+IgwDg2JJx2EZPGFKYTBehHen05-243uISvZmKkKB2RlQPBSgmEQbZ8X9Cm4eJMowARJs8BnRoImi0DgwlKMZowSxstuBdvt6Md4BXnKKEyGk78A2m0JnZFIMBhULnGEJZY1mq0BBXRdMnYIM5AjGBvBn6AFw5Ho9FYvFY6JTdCxEzHBmDxgM5kGw3RlPK9sa+I6yFhyJGxmAJIoPBQCBGYDwACq5DANUCDmtoGbJMIyTnqovDZEAA

octref commented 4 years ago

🤷‍♂️ That's weird. I'll take a look when I have time...