文件中的代码:
<template>
<component v-bind:is="bbc"></component>
</template>
<script>
import bbc from './bbc.vue';
export default {
name: 'ShowRoom2',
};
</script>
./bbc.vue
<script>
export default {
name: 'bbc',
props: {
msg: String,
},
mounted() {
console.log('bbc is mounted');
},
render() {
if (this.func) this.func();
return (
<div class="bbcMyClass">
<h1>bbc: <span>Pal</span> <span>{this.msg}</span></h1>
</div>
)
}
};
</script>
再现
src/components/ShowRoom2.vue
答案 0 :(得分:2)
是的,模板中的作用域与脚本作用域不同。如果需要一些数据,则需要在代码的“组件”定义部分内声明它们。对于您的情况,我想'data'属性应该可以工作
import bbc from './bbc.vue';
export default {
name: 'ShowRoom2',
data() {
return {
bbc: bbc,
};
},
};
但是,代码的模板部分看起来也很奇怪。您能解释一下您要做什么吗?