Q:

Problems with state with Vue component and TypeScript

I have a problem with the following simple Vue component. I'm just trying to get the v-if="isTouched" to rerender upon setting the setter (by firing the touch event). 
According to Vue dev tools the _isTouched variable is "undefined". From what I've understood variables like that shall automatically be included in the components data() block. This however doesnt seem to be the case. 
Any ideas on what I'm missing here?
Best//M
<template>
    <div v-if="selectedProgramItem">
        {{isTouched}}
        <span v-if="isTouched">Unsaved changes</span>
        <input type="text" class="form-control" v-model="selectedProgramItem.title" />
        <button @click="touch()">Touch object</button>
    </div>

</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { ProgramItem } from '@/entities/ProgramItem';

@Component
export default class ProgramEditItemPane extends Vue {
    @Prop() private selectedProgramItem?: ProgramItem;

    _isTouched: boolean = false;

    private get isTouched(): boolean {
            return this._isTouched;
    }
    private set isTouched(val: boolean) {
        this._isTouched = val;
        // this._isTouched <<<<<<<<< == undefined here.
    }
    private touch() {
        this.isTouched = true;
    }

}
</script>

A:

Mentioned in this Github issue comment:

_ prefixed properties are reserved for Vue's internal properties.

This is also documented over here:

Properties that start with _ or $ will not be proxied on the Vue
  instance because they may conflict with Vue’s internal properties and
  API methods. You will have to access them as vm.$data._property.

The solution is to change _isTouched to something like isTouchedField.

