vue-property-decorator @Prop-валидатор с учетом-метаданных не работает после обновления страницы - PullRequest
0 голосов
/ 17 апреля 2019

Как и заголовок, валидатор @Prop с использованием метаданных отражений не работает после обновления страницы.

Как сказано в документе, я импортирую reflect-metadata и поворачиваю emitDecoratorMetadata на true.

А мой код такой:

<template>
    <div>
        <HelloWorld :msg="123"></HelloWorld>
    </div>
</template>
import {Vue, Component, Prop} from 'vue-property-decorator';

@Component({})
export default class HelloWorld extends Vue {
    @Prop() readonly msg!: string;
}
// [Vue warn]: Invalid prop: type check failed for prop "msg". 
// Expected String with value "123", got Number with value 123.

Конечно, это работает, когда я впервые захожу на страницу. Но когда я обновляю страницу, она не работает (она не проверяет тип prop, как dev env, так и prod env). И я уверен, что я импортирую reflect-metadata только один раз, и я обновил reflect-metadata до последней версии 0.1.13 (потому что я слышал, что более старая версия имеет некоторое «непреднамеренное поведение»).

Я попытался импортировать reflect-metadata в зависимости (извините, что изменил код зависимости), и на этот раз это работает, даже после обновления. Почему?

И я нашел что-то странное ...... После обновления страницы функция Reflect.getMetadata исчезнет. Это что-то не так с Reflect?

...