是否需要在所有组件中导入值?下一步和打字稿



目前我已将typescript集成到next,如文档所示:https://typescript.nuxtjs.org/es/guide/setup/

但我有以下疑问:在组件中,您应该始终使用import vue from "vue"export default Vue.extend ({});在文档中,我看到它们使用1个组件(https://typescript.nuxtjs.org/es/cookbook/components)执行示例,但在我的情况下,我怀疑是否真的应该将它们添加到所有组件中,或者我可以以何种方式做到这一点。

我认为我在types/vue-shim.d.ts文件中的配置为我做到了这一点,但后来我的概念错了。

vue-shim.d.ts:

import Vue from "vue";
declare module "*.vue" {
import Vue from "vue";
export default Vue;
}

在给next添加typescript之前,我的组件是这样的:

<script>
import comp from "../component.vue";
export default {
components: {
comp
},
data() {
return {
createUser: true,
params: {
rol_id: 0,
post_url: "",
update_url: ""
}
};
},
mounted() {
this.params.post_url = this.$config.routePrefix + "/agency/";
this.params.update_url = this.$config.routePrefix + "/agency/";
if (this.$route.params.uuid !== undefined) {
this.createUser = false;
}
},
methods: {
fetchForms() {}
}
};
</script>

不,并非绝对需要在所有组件中导入vue

如文档中所述,Vue.extend只需要在TypeScript IDE中启用类型推断。例如,它允许TypeScript根据data()params的声明来推断mounted()this.params的类型。

Vue.extend没有添加任何功能,因此您的组件在有或没有Vue.extend的情况下运行相同。然而,为了获得使用TypeScript的全部好处,你应该在组件中使用Vue.extend

相关内容

  • 没有找到相关文章

最新更新