[英]Dynamic Components don't work in typescript in vue
Hello 不在我的 HelloWorld 頁面中呈現
HelloWorld.vue
<template>
<div>
<component :is="Hello"></component>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator'
import Hello from './Hello.vue'
@Component({
components: {
Hello
}
})
export default class HelloWorld extends Vue {
@Prop() private msg!: string;
}
</script>
簡而言之:
<template>
<div>
<component :is="Hello"></component>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator'
import Hello from './Hello.vue'
@Component({
components: {Hello}
})
export default class HelloWorld extends Vue {
@Prop() private msg!: string;
private get component(): VueClass<Hello> {
return Hello;
}
}
</script>
除了注冊Hello
組件,你還需要從一個計算屬性返回它的實例; 你可以將它分配給一個數據屬性,比如private component: VueClass<Hello> = Hello
,但重點是讓它動態,對,所以我在這里使用了計算的
:is 需要一個變量。 你已經傳遞了一個字符串。 更改該語法,它應該可以工作
<template>
<div>
<component is="Hello"></component>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator'
import Hello from './Hello.vue'
@Component({
components: {
Hello
}
})
export default class HelloWorld extends Vue {
@Prop() private msg!: string;
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.