我正在将Vue.js与Typescript一起使用。 代码很简单。 (带有vue-class-component和vue-property-decorator)
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class Child extends Vue {
@Prop(String) private value!: string;
}
</script>
当然,如果我将字符串作为道具传递给Child组件,则它可以正常工作而不会发出警告或错误。然后传递数字,它将在运行时显示警告,如下所示。
但是编译没有错误。有什么方法可以检查“ COMPILE”时间的类型?
答案 0 :(得分:1)
将评论转换为答案...
当我遇到类似的问题时,这与Vue如何处理将道具从模板传递到组件有关。如果使用value =“ 1”,则传递一个字符串;如果使用:value =“ 1”,则传递一个数字。这确实令人困惑,您只能在运行时看到它,因为模板尚未编译。